リモート操作をするなら SSH で

Linux マシンを遠隔操作したいという要望は多いのですが、フォーラムを見ているとどうも初心者は VNC を使いたがる傾向にあるようです。いやいや、そこはやっぱりお手軽簡単な ssh を使いましょう、と言うと
CLI オタうぜー」
などと言われてしまいます。ところがどっこい、ssh には X 転送という機能がありまして、X クライアント*1の画面をネットワーク越しに転送できるのですよ。これに必要なのは以下のものだけです。

操作される側
ssh サーバ
操作する側
X サーバ、ssh クライアント

今時のデスクトップ Linux ならば X サーバは動作していますし、ssh クライアントだって標準装備です。あとは遠隔操作したい対象に ssh サーバをインストールするだけです。Ubuntu なら以下のような感じ。


$ sudo apt-get install openssh-server
あとはクライアントになる Linux から ssh で接続し、コマンドラインからアプリケーションを立ち上げるだけです。下のキャプチャ画像は Jaunty から Hardyssh して sylpheed を起動した状態です。といっても見ただけじゃ、リモート操作しているとは解らないと思いますが。

なお Ubuntu 同士ならばデフォルトで X 転送が許可されていますが、そうでないディストリビューションも存在します。その場合は ssh サーバにて以下の設定を行って下さい。


$ sudo vi /etc/ssh/sshd_conf
(...snip...)
X11Forwarding yes # X11転送を許可する記述を追加
(...snip...)

ssh クライアント側にも X 転送を許可する必要があります。ssh コマンドに -X オプションをつけて実行するか、~/.ssh/config に以下の記述を追加してください。


ForwardX11 yes

この方式のいいところは、ssh というありふれたインフラを使って GUI 操作ができるところ。VNC サーバを新たに立てる必要はありませんし、GUI が不要な場合は ssh だけでさくさくと処理を行うことも可能です。scp を使えばファイルの転送もできますし、とにかく楽な割に必要な機能が全て揃っているところが大きいです。
そして X サーバと ssh クライアントさえあれば、クライアントの種別を選ばないのもポイント。そう、MacOS X は X サーバと ssh クライアントを標準装備しているのですね。ですので特別な設定なく、Mac から Ubuntu のアプリを呼び出すことができます。

Windows でも ssh クライアントと X サーバさえインストールすれば同様に遠隔操作が可能です。そこでおすすめなのが UbuntucoLinux である andLinux。なんと最近の andLinuxインストーラは、Xming*2 を同時にセットアップしてくれます。
andLinux をインストールしたら、端末を開いて coLinux にログイン。そこから Ubuntu サーバに ssh します。

そして X クライアントを起動すれば、Windows 上に Ubuntu のアプリを引っ張ってくることが可能です。

*1:いわゆる GUI アプリのことだと考えてください

*2:フリーの X サーバ