2007-08-04

Macでリモートログインメニュー

リモートログインメニューがMacに欲しい。

Mac miniを買って2年4ヶ月、主たる環境をFreeBSD上のX11からMac OS Xに乗り換えて1年強、FreeBSDでX serverを動かさなくなって半年。FreeBSDのコンソール画面なんて月に一度見るか見ないかってな状況にある。Mac OS Xべったりになってずいぶん経つのに、未だにXのウィンドウマネージャーのカスタマイズ命な環境を懐かしく思うことがある。特に自前メニューが懐かしい。10年以上使い続けてるfvwmではマウスのbutton-1に自前メニューを割り当てたものだ。いや、今でも会社じゃそーゆー環境にいるんだけどね。で、リモートログインと題したサブメニューにマシンの一覧を並べ、少ないステップでリモートのxtermを立ち上げることができた。そーゆー環境がMacにも欲しいのだ。

このリモートログイン、Mac OS Xでやろうとすると手間がかかりすぎる。まずTerminal.appを起動し、ファイルメニューから「サーバへ接続…」を選択。

Terminal.appのサーバへ接続ダイアログ

なにが面倒って、この「サーバへ接続…」を出すには、一旦Terminal.appを起動しておかないといけないことだ。Terminal.appをDocに入れただけだと、このメニューは出てこない。起動すると現れる。また、一度Terminal.appを起動するという事は、画面の端に使いもしないローカルなTerminal.appのウィンドウが出てきてるってことでもある。Ctrl-dを叩き込んで毎回そいつを消すってのも面倒な事のひとつである。

さらに面倒なのが、ここから実際に接続できるまでが長いこと。まずサービスからsshを選び、サーバを選び、プロトコルを選んで、ようやく接続できる。

サーバへ接続ダイアログでサービス、サーバー、プロトコルを選択し終えたところ

いらつくことに、オプションリストが最初「SSH プロトコル 1」になってるところだ。毎回最初に、「SSH (自動)」か「SSH プロトコル 2」にわざわざ選び直さないといけない。手間がかかって仕方ない。

ということで、用がある場合にゃ毎度「サーバへ接続…」がこの状態になるようにセットアップする。あとは、こいつがリモートログインメニュー替りとなるわけだ。Macにログオン後、自動でこの状態にできないものかとあれこれ検索したり試したのだが、いかんせん知識が足りな過ぎ。

Automatorのワークフローに一連の作業がまとめられれば、デスクトップのコンテキストメニューから起動できて便利に使えそうなのだが、そもそもAutomatorのアプリにはTerminal.appがリストされてない。AppleScript で、

tell application "Terminal"

などするスクリプトをあれこれ試してみるも、なにをどうやっても最初にローカルな端末が上がってきてしまうし、

do script "ssh ...

などしても、ローカルな端末のシェルからsshしてしまい、「サーバへ接続…」からやった時のように、直接リモート環境に接続するようにはならない。

もう、このあたりの事はあきらめていたのだが、ふと、Terminal.appのファイルメニューに「別名で保存…」なんてのを見つけてしまった。

Terminalのファイルメニュー

いったい、これは何が保存されるのか。まぁ、結論から書くと、そのTerminal.app画面を出すのに必要な情報がxmlで保存されるのだ。「サーバへ接続…」からリモートに接続したTerminal.appウィンドウなら、リモート接続の情報も保存される。

Docに入れたTerminalフォルダ

てな状態で保存すると、~/Library/Application Support/Terminal/下にxmlファイルが保存される。保存されたものは、ファイル > ライブラリで参照できるようになる。そこから起動すると、保存した時の位置にTerminal.appのウィンドウが現れる。もちろん「サーバへ接続…」から起動したのと同じように。おお!

このままだと、一度Terminal.appを起動しておかないといけない。「ライブラリ」メニューは「サーバへ接続…」と同様、起動してないと現れないので。

んがしかし、実フォルダがわかってるのだから、そいつをDocに入れてしまえばいいのだ。

別名で保存ダイアログ

おお、これだよこれ。これがやりたかったのだよ。ついでに、alezoへのRemoteDesktopの定義ファイルも入れてみたり。こんなことしても、Terminal.appのファイル > ライブラリにはRemoteDesktop定義が現れないのもいい感じ。

なんかこう、2年越しでやりたかったことがようやくできるようになった。ここ最近じゃ一番嬉しかったことに挙げられる。意味もなく接続して遊んでみたり。我ながらホント安いよなぁ。

P.S.

キャプチャしてて初めて気付いた。「サーバへ接続…」ダイアログを出した直後、フォーカスは一番下のコマンド欄にあたってる。下矢印があるので予想がつくと思うけど、ここに過去の履歴が残ってます。あれこれ選ばんでも、ここから一発なのでした。気づくの遅すぎ。

0 件のコメント:

コメントを投稿