【コラム】

新・OS X ハッキング!

33 意外に知らない「画面共有」

    海上忍  [2012/02/03]

    ゾンビ映画が大好きなこの私。ロメロ監督リスペクトは当然として、音楽を担当したGoblinのアルバムも押さえているし(プログレ!)、バタリアンなど毛色の異なる作品もひととおり見ています。だから最近は、Huluで「The Walking Dead」を見るのが夜の楽しみ。iPhoneやiPadでも鑑賞できますしね。

    さて、今回は「画面共有」について。いわゆるリモートデスクトップ機能を提供するこのツール、暖かい部屋のMacBook Proから寒い書斎にあるMac miniを遠隔操作するなど、この冬にはもってこいの機能かもしれない。そのTIPSをいくつか紹介してみよう。

    どの画面共有ツールを使うべきか

    ご存知のとおり、OS Xには「画面共有」というデスクトップ遠隔操作システムが装備されている。Tigerまではサーバ機能(遠隔操作を受ける側)のみ装備されていたが、Leopard以降はFinderと連携するクライアント機能(遠隔操作する側)が装備され、Lionでフルスクリーン対応やApple ID認証などの改良を経て現在に至る。

    他のOS Xマシンをかんたんに遠隔操作できる「画面共有」

    画面共有はLionでマルチセッション対応となり、サーバ側にほかのユーザがログインしていても、仮想ディスプレイとして自分のデスクトップを表示できるようになった

    「画面共有」のプロトコルはVNC互換(RFB)であり、一般的なVNCクライアントが利用できる。VNCクライアントはさまざまなプラットフォームに移植されているため、たとえばWindowsやLinuxからもOS Xを遠隔操作することができる。近年ではiOSやAndroidアプリにもVNCクライアントが存在するため、通信環境さえ整備すれば、外出先から自宅のOS Xを操ることすら可能だ。

    だが納得できない点もいくつかある。OS X同士では「どこでもMy Mac」を介して遠隔操作できるが、移動に便利なiOS機器は対象外だ。幸い拙宅ではVPNサーバを稼働させているため、iPhone(のVNCクライアントアプリ)から3G回線経由でアクセスできるのだが、ガマンならないほどパフォーマンスは低下する。既存のVNCクライアントアプリに対する、操作性に関する不満もある。

    そのような事情もあり、ここ1年ほどはiOSやAndroidにも対応した遠隔操作ツール「TeamViewer」を利用することが多かったのだが、先日事情が変わった。iCloud移行後はLANを越えてアクセスできなくなっていたAirMacディスク――USBストレージを共有するAirMac Extreme/Time Capsuleの機能――が、ファームウェアアップデートによりiCloudに対応したのだ(関連記事)。以前のように、AirMacディスクを自宅ファイルサーバ風に使えるのであれば、再び「画面共有」をメインの遠隔操作ツールに戻すメリットはあるだろう。

    画面共有に関するあれこれ

    そんな「画面共有」には、あまり知られていない機能や"弱点"がある。ここでは、そのうち3つをピックアップしてみよう。

    遠隔操作したいが機能はオフ、そんなときに

    遠隔操作にまつわる"ありがち"なミスとして、遠隔操作を受ける側(サーバ)のマシンが共有機能を有効化していないためにつながらない、という事態が挙げられる。こればかりは仕方ないが、リモートログイン(sshd)を有効にしていれば対処は可能だ。sshでリモートログインしたあと、以下のとおりコマンドを実行すれば、画面共有のサーバ機能が有効になる。

    $ cd /System/Library/LaunchDaemons
    $ sudo launchctl load -w com.apple.screensharing.plist
    

    ※無効にするときは「sudo launchctl unload -w com.apple.screensharing.plist」

    すばやく画面共有を開くために

    画面共有(クライアント)を開始するには、Finderの「画面を共有...」ボタンをクリックすることがオーソドックスな方法だが、ほかにも2通りのやり方がある。

    ひとつは、Finderの「サーバへ接続...」ダイアログを使うこと。ここで「VNC://」に続けてサーバ側のホスト名(*.local、またはIPアドレス)を指定すればOK。よく使うサーバに登録しておけば、次回以降すばやく接続できる。

    Finderの「サーバへ接続」ダイアログにアドレスを登録しておくと、次回以降すばやく接続できる

    もうひとつは、ショートカットを作成すること。画面共有(クライアント)で遠隔操作を開始したあと、タイトルバーに表示されている「@」が付いたアイコンをデスクトップへドラッグ&ドロップすればOKだ。その後は適当にリネームして構わない。SafariのURLバーに「VNC://*.local」の要領でアドレスを入力し、それを範囲選択してドラッグ&ドロップしても、同様の働きを持つファイルを作成できる。

    「@」アイコンをドラッグ&ドロップすれば、画面共有用ショートカットファイルを作成できる

    結構危ないVNCパスワード

    画面共有では、VNCクライアントからの接続を許可するとき、専用のパスワードを設定できる。システム環境設定の「共有」ペインで「画面共有」を選択し、「コンピュータ設定...」ボタンをクリックすると現れるシートに登録するパスワードがそれだ。

    このパスワードは、/Library/Preferencesディレクトリに「com.apple.VNCSettings.txt」というファイル名で保存される。内容は隠ぺいされているうえ、管理者権限でしか開けないようパーミッションが設定されているので、一応の安全対策はなされているといえるが、事情通には"ザル"に見えるに違いない。

    というのも、com.apple.VNCSettings.txtに記録されたパスワードは、かんたんに解読できるのだ。数年ほど前に某メーリングリストで流れた情報によれば、このファイルは固定の16文字をマスク処理(XOR)したに過ぎないという。

    だいぶ時間が経過しているので、なんらかの対策はなされただろうと思い込んでいたのだが、今回の原稿を書くにあたりチェックしてみると……なんと無対策、あっけなく解読できてしまった。OS X間で利用する場合にはVNCパスワードが不要なだけに、多くのユーザにとっては無関係の話だが、必要ないかぎりパスワードを設定しないことをお勧めしたい。

    VNCパスワードはあっけないほどかんたんに解読できるので、パスワードファイルの取り扱いには注意したい

    関連記事
    【コラム】OS X ハッキング! (323) VPNサーバでMac、iPhone、自宅LANを徹底活用(4) - VNCで遠隔操作 (2009年5月27日)
    【コラム】OS X ハッキング! (320) VPNサーバでMac、iPhone、自宅LANを徹底活用(1) (2009年5月27日)
    【コラム】OS X ハッキング! (310) Leopardのリモートデスクトップ機能をあれこれイジる(2009年2月2日)
    「Splashtop Remote」でiPad/iPhone/AndroidからMacの操作が可能に (2011年1月27日)
    TeamViewer、デスクトップ共有ソフトのiPad版「TeamViewer HD」を提供開始 (2010年7月14日)

    関連記事

    関連サイト

    関連したタグ

    新着記事

    特設サイトの情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      マイナビニュースマガジン