«前の日記(2007-07-25) 最新 次の日記(2007-08-05)» 編集

おこたの国


2007-08-04

_ [COMP] 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 を起動し、ファイルメニューから「サーバへ接続…」を選択。

20070804.connectto-1.png

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

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

20070804.connectto-2.png

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

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

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

tell application "Terminal"

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

do script "ssh ...

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

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

20070804.saveas-1.png

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

20070804.saveas-2.png

てな状態で保存すると、

~/Library/Application Support/Terminal/

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

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

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

20070804.menu.png

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

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

P.S.

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

_ [COMP] ひとこと

sudo、1.6.9 になってから、パッチリリース出し過ぎだろう。

$ ls -l sudo-1.6.9*
-rw-r--r--  1 root  wheel  557692 Jul 18 20:13 sudo-1.6.9.tar.gz
-rw-r--r--  1 root  wheel  557995 Jul 26 23:06 sudo-1.6.9p1.tar.gz
-rw-r--r--  1 root  wheel  558439 Jul 30 22:46 sudo-1.6.9p2.tar.gz
-rw-r--r--  1 root  wheel  558517 Aug  3 00:53 sudo-1.6.9p3.tar.gz

2002|10|
2003|10|12|
2004|01|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|05|07|08|09|10|11|12|
2009|02|06|08|09|
2010|02|08|
2011|08|
2012|07|
2013|01|06|09|10|
2019|07|10|
2020|07|
2022|08|