SSHMenuだけでSSH接続を開始する

 SSHMenuは、SSHで接続したいホストの設定可能なドロップダウンリストを表示するボタンをGNOMEパネルに追加するアプレットである。

 SSHMenuは、Ubuntuのリポジトリにgnome-applet-sshmenuとして、Fedoraのリポジトリにgnome-applet-sshmenuとして、それぞれパッケージされており、そこから入手できる。この2つのディストリビューションで利用できる他のSSHMenuパッケージにはGNOMEサポートが含まれていない。それらのパッケージでは、いずれかのホストにSSHで接続したいとき、SSHメニューへのボタンが専用のウィンドウで起動され、xtermが起動される。GNOME対応のSSHMenuパッケージをインストールすれば、パネルを右クリックし、「Add to Panel…」を選択し、「SSH Menu Applet」を選択することで、SSHMenuをパネルに追加できる。GNOME対応のSSHMenuを使用すると、gnome-terminalが起動されてSSH接続を処理するので、gnome-terminalでホストごとに使用されるプロファイルを選択できる。それにより、端末が接続されるホストを表すものとして端末のフォントと背景色を指定できる。

SSHMenuを使用しない場合

 GNOMEを使用する場合、アプリケーションランチャーパネルアプレットを使ってSSH接続オプションのパーソナルメニューを表示して、SSHMenuの機能の多くを模倣することができる。たとえば、alacarteを実行してGNOMEメニューを編集し、SSH接続用の新しいメニューと、開始したいSSH接続ごとに新しいメニュー項目を作成できる。その後、このメニューをパネルに追加すれば、SSHMenuタイプの機能に(すべてのSSH接続にメニューとそのサブメニューから)アクセスできるようになる。また、よく接続する個々のSSHホストもパネル自体に追加して、シングルクリックでアクセスできるようにすることができる。

 上述の設定でgnome-terminalのプロファイルを使用すると、SSH接続ごとに異なるフォントとカラーのパラメータを指定できる。ランチャーは次のようなものを実行する。

gnome-terminal --window-with-profile=me@overthere.example.com

 ここで、gnome-terminalプロファイルme@overthere.example.comはカスタムコマンド「ssh me@overthere.example.com」を使って、そのプロファイルで作成された端末をリモートホストに自動的に接続する。

 それぞれのユーザとホストの組み合わせについて明示的なプロファイルを用意するという保守上の厄介な問題がすぐに生じる。テスト用に一群の仮想マシンを実行する場合は、単一のgnome-terminalプロファイルを用意し、SSHMenuを使って特定のユーザとホストとして接続するのが賢いやり方かもしれない。

SSHMenuを使用する場合

sshmenu1_thumb.png
SSHMenu

 SSHMenuを使用すれば、ホストごとに個別のgnome-terminalプロファイルを設定する必要がない。プロファイルを使って接続ごとに異なるフォントとカラーを設定することはできるが、多くの接続をグループ化することによって同じgnome-terminalプロファイルを使うようにすることができる(たとえば、特定の接続で自分がルートユーザであることを意識できるように、ユニークな背景色と少しだけ大きいフォントを設定する単一のプロファイル)。

 SSH接続ごとに個別のgnome-terminalプロファイルを用意しないことには不利な面もある。SSHMenuを使って接続を開始する場合、Ctrl-Shift-Tキーで新しいタブにアクセスしたとき、その新しいタブでリモートホストにSSHで接続されないことに気がつく。gnome-terminalに明示的なプロファイルがあって、リモートホストにSSHするように設定されたプロファイル用カスタムコマンドがあれば、そのプロファイルで作成された新しい端末タブやウィンドウが目的のホストにSSHで自動的に接続される。

 これが実際の使い方にどれくらい影響するかは、Ctrl-Shift-Tキーで新しいタブにアクセスしたり、gnome-terminalウィンドウを右クリックしてOpen Terminalを選択する頻度によって違ってくる。こうした方法のいずれかで規則正しく新しい端末を起動する場合、新しい端末が同じ背景色でも目的のホストに接続しないことでイライラするかもしれない。

 SSHMenuのPreferencesウィンドウはHostsとOptionsに分かれている。Optionsタブでは、ティアオフメニューを有効にしたり、すべての接続をウィンドウのサブメニューで(または新しいウィンドウのタブとして)開いたりすることができる。

 Hostsタブでは、SSH接続を設定したりサブメニューに配置したりすることができる。SSHMenuに追加するSSH接続ごとに、メニューに表示される名前、その接続のために起動される端末ウィンドウのウィンドウジオメトリ、その接続に使用するgnome-terminalプロファイル、および接続先のホスト名を設定できる。ホスト名にはuser@hostおよびその接続のために渡したいsshコマンドへのオプションを含めることができる。

 ウィンドウジオメトリを設定するには、Testボタンをクリックして、ホストに接続されたgnome-terminalを生成し、そのgnome-terminalのサイズと位置を希望どおりに変更し、それからHost Connection Detailsウィンドウ内のGrabボタンをクリックし、そのgnome-terminalをクリックするとよい。関連するSSHホスト群のサブメニューがあって、そのサブメニュー内の接続用のgnome-terminalウィンドウの各々が画面上の重なり合わない場所に置かれるようにウィンドウジオメトリを設定した場合は、そのサブメニューに対するSSHMenuの「Open All Windows」オプションが非常に有用である。

 SSHMenuはRuby言語で書かれており、独自のカスタムサブクラスを指定することで拡張機能を追加するための優れたサポートがある。telnetサポートを追加するためのウォークスルーは、カスタムsftpクライアントサポートやその他の通信プロトコルを追加するときに使用できるだろう。SSHMenu Hacker’s Guideには、SSHMenuのカスタマイズに使用できる色々なテクニックが紹介されており、SSHMenuを別のアプリケーションにすっかり埋め込むところまで手解きされている。

まとめ

 筆者はCtrl-Shift-Tキーを使って既存の端末から新しい端末を作成することが多いので、新しいタブが自動的にSSHで前と同じホストに接続されないとわかるとイライラする。けれども、SSHMenuにはそれを埋め合わせてくれるような利点がある。SSHMenuではSSH接続の集まりを設定でき、シングルクリックで関連する接続のグループを新しいウィンドウの集まりとして、または単一の新しいウィンドウの中の新しいタブの集まりとして開くことができる。

Ben Martinは10年以上にわたってファイルシステムに取り組んでおり、博士課程の修了後、現在はlibferris、ファイルシステム、検索ソリューションを中心としたコンサルティング業に従事している。

Linux.com 原文(2008年6月18日)