WindowsでLinuxのGUIソフトを利用する方法 X Window System X11



個人でLinuxを使っているときにGUIのソフトを利用する機会がありませんでしたが、職場で使う機会があったので環境を整えてみました。
今まではGUIのソフトを利用したい場合はVNCを利用していましたが、動作が多少重くなりますしコピペのバッファが上手く共有できなかったり、ウィンドウが使いずらかったりと不満がありました。

しかしX Window Systemのサーバ環境を用意することにより、Windowsからssh接続をしてLinuxで利用するのと同様にソフトを起動するとシームレスにWindows側に表示されるため大変使い勝手が良いです。

以下、X Window System = X11です。


準備

Windowsマシンの設定

Cygwinを利用してX11をインストールします。

Cygwin
http://www.cygwin.com/

インストーラーを起動して適当に進みます。
Choose a download Siteでは日本のドメインのURLを指定します。

  • インストールするソフトウェアの選択

続いてソフトウェアの一覧が表示されたらNetの十字をクリックして開きます。
openssl,opensshというところを以下の画像のようになるようにクリック。
X11のDefaultというところを数回クリックしてInstallに変更して次へをクリック

数分待つとインストール完了です。

  • X11サーバの起動

WindowsのスタートメニューからXWin Serverを実行しましょう。

これでWindowsの準備は整いました。

リモート先のLinuxでの設定

sshdにX11用の設定を行います。

vi /etc/ssh/sshd_config
  • 以下のように設定します。おそらく標準でこの設定になっているかと思われます。

X11Forwarding yes

/etc/init.d/ssh restart


X11をインストールしていない場合は、インストールを行います。

yum -y install xorg-x11-xauth libXtst


以上ですべての設定は完了です。


使い方

Minttyからsshコマンドで利用する方法
  • Minttyを起動

「C:\cygwin\bin\mintty.exe -」のようにmintty.exeの後ろに-(ハイフン)をつけてあげるとhomeディレクトリの状態で起動できます。

echo "export DISPLAY=:0" >> ~/.bashrc
  • sshコマンドに-Xコマンドを加えて実行
ssh -X -l ユーザー名 サーバアドレス

成功すると$DISPLAYにlocalhost:10.0などの値が設定されます。
リモート先のDISPLAY環境変数は手動設定してはいけません。

echo $DISPLAY
localhost:10.0
Puttyから利用する方法

接続 -> SSH -> X11 -> X11フォワーディングを有効にする にチェックを入れます。

後はいつも通り接続するだけです。