スクリーンショット

Jailbreak により、iPod touch 上のコマンドが遠隔実行できるようになりましたので、以下のサイトで言及されているツールが使えるようになりました。



下記のようにすれば、iPod touchスクリーンショットがとれます。

  • 準備
    1. TUAWからリンクをたどり、screenshotの実行ファイルをダウンロードします。
    2. iPod touch へ転送し、実行属性をつけます。Macでターミナルを開き、以下のようにすればよいです。
 $ cd {screenshot を保存したディレクトリ}
 $ scp screenshot root@{touchのIPアドレス}:/usr/bin
 $ ssh root@{touchのIPアドレス} chmod 755 /usr/bin/screenshot
  • Shoot
    1. touch で、スクリーンショットをとりたい画面にします
    2. Mac のターミナルで以下のコマンドを実行しましょう。
 $ ssh root@{touchのIPアドレス} screenshot

これで、touch 上で screenshot コマンドが実行され、画面キャプチャの結果が touch の /tmp/foo_0.png に保存されたことになります。/tmp/foo_0.png は決め打ちみたいです(自信なし)。

  • Get
    1. touch の /tmp にできたファイルをもらってきます。再びMacのターミナルで以下のコマンドを発行します。hoge.png は保存したいファイルの名前です。
 $ scp root@{touchのIPアドレス}:/tmp/foo_0.png hoge.png


以上です。ssh や scp をやる都度、touch の root パスワード入力が必要になります。Shoot & Get を無理矢理一つのコマンドでやるとすれば、下記のようになるでしょうか。これだとパスワード入力は一回ですみます。(パスワードなしでsshできるようにすれば良いのですが、何かうまくいっていません)

 $ ssh root@{touchのIPアドレス} "screenshot > /dev/null ; cat /tmp/foo_0.png" > hoge.png



追記 (2007/10/16):Insaller.app でインストールできる Erica's Utilities の中にもスクリーンショットをとるためのコマンドが入っています。/usr/local/bin に入る、snap と snap2album です。

snap は

# snap ファイル名

として、ファイル名を指定してスクリーンショットをとる事ができます。ただし、ファイルはなぜかカレントディレクトリにしか保存できません。snap /tmp/hoge.png とかすると、./tmp/hoge.png にファイルを保存しようとします。(微妙な差ですが、./tmp と先頭にドットがついています)

snap2album は、/var/root/media/DCIM/100APPLE に連番でファイルを保存します。ここは、iPhone のカメラで写真を撮った際にファイルが保存される場所だと思います。Macに接続して iPhoto を起動すると、スクリーンショットを転送する事ができます。複数枚撮っておいて、あとから取捨選択しつつまとめて保存する際には便利だと思います。

snap も snap2album も、キャプチャするに「カシャ」というシャッター音がなります。これはこれでクールなんですが、音楽が止まってしまうのが残念ですね。