雑記帳

ちょっとした文章とかメモ書きとか。

Windows・MacOSX/LinuxでsshとX11転送

リモートでGUI?

LinuxにはGUI環境としてXが用意されています。
常々疑問に思っていたのですが、なぜXではなく「X Server」と言われているか疑問でした。調べてみるとどうやら

Xのサーバーとクライアントは同一なPC上(つまりはlocalhost)になくてもよい

とのことでした。
つまり…

リモートでGUI付で飛ばせるのか!?と。

もちろんすることが可能で、Linux、Mac OSXはほぼ設定するだけで使えてしまう環境が用意されているんだそうです。

LinuxでX11転送を使う(Mac OSXでも同様の手順で可能)

こちらの方法は今は非推奨

$ssh -X [username]@[hostname]

とすれば良いようだ。しかし、Ubuntuではxauthエラーが出たので

xauthに関係する隠しファイルのアクセス権をroot以外にも持たせることでX11転送が上のコマンドで出来るようになる。※セキュリティが下がるので設定変更は自己責任にて。

Linuxのホスト側の設定が終わっていればMac OSXでも同様に操作することでX11転送が可能です。

今の推奨の方法

追記:@naota344さんの指摘により、
特に制限を設けず、X11転送を全て許可する場合は

$ssh -Y [username]@[hostname]

とすると良いようです。

追記:
MacOSXをホストとする時は
/etc/sshd_config

の設定を書き換える必要があるようです。

#X11Forwarding no
#X11DisplayOffset 10
#X11UseLocalhost yes

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

とすると良いようです。
あとはsshdプロセスを落として再起動させます。

参考サイト:http://homepage3.nifty.com/toralu/MEMO/ssh.html#5_1

WindowsでX11転送を使う

Windowsの方は結構厄介。何故ならXServerもX11関連のツールも一切入っていないから。と言うことでTera TermXmingをダウンロードしてきます。
そして、Xmingもインストールします。Xmingのフォントも忘れずにインストール。

ここからが本題。

Tera Termを起動し、設定→ssh転送を選択して出てきたウィンドウ(下図)で設定をいじります。

このウィンドウで「リモートのアプリケーションをローカルのサーバーに表示する」にチェックを入れ、設定を保存してTera Termを再起動します。

そしてXmingをインストールしたフォルダに行き、X0.hostファイルにsshで接続しに行くLinuxのIPアドレスを追加しましょう。

Xmingを起動→Tera Termを起動し、ログインしてから

$xeyes

として、目玉のアプリケーションが起動すればssh X11転送の設定は終了です。(下図)

ついでにmikutterも動かしてみたと言う図。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。