(2013d)LinuxサーバのGUIアプリケーションをリモートで起動するWindows端末からLinuxにsshでログインして作業を行う際、GUIを使いたいと思うことが多々ある。いった場合、Windows上でXサーバを起動し、そこにアプリケーションの画面を表示させればよい。ユーザーXサーバについての解説ページでは散々書かれているが、クライアントマシンで起動させるソフトウェアが「Xサーバ」なので注意すること。†まず、クライアントマシンがWindowsでなくてLinuxの場合は作業は簡単だ。オプションをつけるだけでよい。&このようにプログラムを起動するだけでよい。面倒な許可設定をいろいろ行っていたが、今はsshでXプロトコルをフォワードして一発完了だろう。LANで使うのであれば暗号化は必要ないかもしれないが、暗号化せずにXを使うことの方がよっぽど手間がかかる。貧弱な環境でもないかぎり、これで問題は無い。X/Qtを起動して、そこにサーバマシンのアプリケーションを表示することも可能(不安定だが)。†Windows上にXのソフトを起動させるには、まずXサーバソフトウェアを起動させる必要がある。インストーラをダブルクリックしてインストールし、完了後にソフトウェアのアイコンをダブルクリックすることで簡単に起動できる。puttyをインストールするか聞かれるが、私のPCには既にインストールされていたので、一番下の「インストールしない」旨の項目を選択した。Bashシェル上で「startx」コマンドが実行できると思う。その場合、xmingと同様にタスクトレイにアイコンが表示される。本家linuxと違って、随分と不安定なのは覚悟した方がよい。その後、puttyなどのsshクライアントを起動して接続を行う。X11の、「X11フォワーディングを有効にする」のチェックを入れ、「Xディスプレイの場所」に「localhost:0.0」を入力。設定の保存後にログインし、Xのアプリケーションを起動すれば、ウインドウが表示されるはずだ。WindowsマシンにVirtualBox?がインストールされ、そのゲストOSとしてLinuxが起動しており、NAT接続されている場合に、そのLinuxのXアプリケーションの画面をWindows上にl表示してみよう。工程は、上記「Windowsクライアント+Linuxサーバ」に、ポートフォワードの設定を加えたものとなる。ローカル(ホストWindows)の、あるポートへの接続をゲストのLinuxの22番(デフォルトの場合)へ転送させることになる。そのためには、ホストマシンのWindowsのコマンドプロンプトで以下のように実行すればよい。ゲストOSにつけた識別名であり、適宣読み替えること。この後、putty等のsshクライアントで、アドレス「localhost」の「30022」ポートへ接続する。Xフォワーディングを有効にする設定を忘れないように。&などとタイプしてみると、Windowsマシン上にアプリケーションの窓が表示されるはずだ。