リモートで友人のシステムのトラブルシューティングを手伝ったり、オフィス向けの研修資料を作成したりするなど、画面のスクリーンショットが必要になる場合があります。Mac OS Xには、内蔵ツールとサードパーティ製ツールの両方を備えた優れたスクリーンショットツールが用意されています。もしまだ使い慣れていない方、あるいは簡単に復習したい方のために、以下に概要をご紹介します。
- Shift + Command + 3:このキーの組み合わせで、接続されたディスプレイ上のすべての画面のスクリーンショットを撮ることができます。Ctrlキーも併用すると、画像はデスクトップ上のファイルではなくクリップボードに保存されます。
- Shift + Command + 4:このキーの組み合わせで、的を狙ったカーソルが表示されます。画面上の任意の場所にカーソルをドラッグすると、その領域のスクリーンショットを撮影できます。ドラッグする代わりにスペースバーを押すと、小さなカメラアイコンが表示されます。これにより、任意のウィンドウのスクリーンショットを撮影できます。上記と同様に、Ctrlキーも併用すると、画像をクリップボードに強制的に保存できます。
- Grab:このプログラムはアプリケーション/ユーティリティフォルダにあります。他の方法にはない、タイマーでスクリーンショットを撮れるという便利な機能があります。タイマー(キャプチャ:タイマースクリーンショット)を使えば、特定のプログラムに切り替えると、自動的にスクリーンショットを撮ることができます。これは、ゲームなど、キーボードショートカットが無効になることがあるプログラムで特に便利です。
- サードパーティ製ツール:MacUpdateで紹介されているように、画面のスクリーンショットを撮れるサードパーティ製プログラムが数多くあります。私は個人的に、雑誌やウェブサイトの記事のほぼすべてでスクリーンショットを撮るのにSnapz Pro Xを使っています。
ただし、これらのツールはどれも、次のような特定のスクリーンショットを取得するのに役立ちません。

これはログインウィンドウ(ファーストユーザースイッチモード)の写真ですが、一見不可能に思える写真です。では、どうやって撮ったのでしょうか?答えは簡単です。ただし、ネットワーク経由で1台目のMacにアクセスできる2台目のMacが必要です。
OS Xには、シンプルに言えば「」という便利なコマンドライン画面キャプチャユーティリティが付属しています screencapture。このプログラムに関するドキュメントはそれほど多くありませんが、 man screencapture 基本的なオプションは説明されています。 ssh キャプチャしたい画面を持つMacに接続したら、 screencapture ルート権限でコマンドを実行する必要があります。ページに示されているように、いくつかのコマンドライン引数を指定することもできます man 。例えば、ログインウィンドウをキャプチャする方法は次のとおりです。
- まず、ログインウィンドウを画面に表示する必要がありました。そのためには、メニューバーの「ファーストユーザースイッチ」メニューから「ログインウィンドウ」を選択しました。ファーストユーザースイッチをまだ有効にしていない場合は、まず有効にする必要があります。これは、システム環境設定の「アカウント」パネルの「ログインオプション」セクションにあります。
- 2台目のMacでターミナル(アプリケーション→ユーティリティ)を開き、コマンドを使って
ssh1台目のMacに接続しました。(別のMacにリモートアクセスする方法の詳細については、「No Files Left Behind」の記事をご覧くださいssh。) - 2台目のMacで、次のコマンドを発行しました。
$ cd ~/Desktop $ sudo screencapture -ttiff loginwindow.tiff
最初の行は、 でログインしたユーザーのデスクトップフォルダに切り替えます
ssh。2行目は実際にスクリーンショットを撮ります。私は を使って-ttiffファイルの種類をTIFF(-tは「種類設定」オプション、tiffは種類で、スペースは追加しません!)に設定し、ファイル名を指定しました。リモートMacでカメラのクリック音を聞きたくない場合は、 を使用してください-x。
実際にはこれだけです。ただし、撮影した写真はターゲットのMacではなく、2台目のMacに保存されていることに注意してください。おそらく保存先として希望するソースMacに写真を転送するには、 scp安全なコピープログラムである を使うことができます。リモートMacとの接続を切断したら、以下のコマンドでスクリーンショットをコピーしてください。
scp user@remote_mac_address:/path/to/screenshot /local/path/to/save
たとえば、私の場合は次のコマンドを使用しました。
scp [email protected]:/Users/robg/Desktop/loginwindow.tiff ~/Desktop/loginwindow.tiff
このトリックはログインウィンドウのスクリーンショットを撮るのにしか使えないと思うかもしれませんが、そうではありません。キーボードショートカットがロックされているゲームでも使えます。 ssh 別のMacからゲームを起動し、キャプチャしたい場面に到達したらスクリーンショットを撮る、といった具合です。また、リモートのMacで大きなタスク(バックアップや大容量ダウンロードなど)を実行しているかどうかを確認するのにも使えます。もちろん、GUIを使って接続して画面を確認する方法もありますが、接続して ssh スクリーンショットを撮り、それをMacにコピーして scp Macがどのプロセスを実行しているかを正確に確認する方が速いかもしれません。