Mac の画面共有を iPhone から起動する (1)「画面共有の仕組みを調べる」

SSH に慣れてくるとなんでもかんでも iPhone からやってしまいたくなります。今回は Mac の画面共有を iPhone から SSH を使って起動してみようという話。

SnowLeopard では (/private)/etc/ScreenSharing.launchd が画面共有のオン・オフのキーになっているようです。中を確認してみると enabled とだけ書かれていました。早速、iPhone から SSH でログインして同じファイルを作成しようと試みましたがパーミッションエラー。これはリダイレクトに管理者権限が無いからだそうな。

bash
$ sudo echo enabled > /etc/ScreenSharing.launchd
-bash: /etc/ScreenSharing.launchd: Permission

man sudo を見てみると最後の方にサブシェルを使ったサンプルが載ってました。sh を管理者権限で実行すればいいんですね。

bash
$ sudo sh -c "cd /home ; du -s * | sort -rn > USAGE"

上のサンプルを参考に以下のコマンドを実行すると無事ファイルが作成出来ました。

bash
$ sudo sh -c "echo enabled > /etc/ScreenSharing.launchd"

そんな感じで色々試してみたら実は /etc/ScreenSharing.launchd の中身は空でもいいらしく、わざわざ echo enabled する必要ないみたいです。じゃあ touch でも良さそうですね。とりあえず簡単に起動出来るように .bashrcalias を追加します。

.bashrc
alias startvnc="sudo touch /etc/ScreenSharing.launchd"
alias endvnc="sudo rm /etc/ScreenSharing.launchd"

これで iPhone の SSH クライアントから画面共有を起動出来るようになりました。

次はスクリプトをもうちょっとカスタマイズしていきます。

Mac の画面共有を iPhone から起動する (2) へ続く