綾小路龍之介の素人思考

windows上で動くXmingをcoLinuxからsshを経由せずに使う

coLinuxにXアプリケーションをインストールして使うためには、XサーバとXアプリケーションが必要だ。Xサーバはユーザの使うキーボードが直接繋がったマシンでXアプリケーションからの接続を待機して、Xアプリケーションは別のどこかにあるマシンで走っている。このあたりについて上手く説明できていない(よくわかっていない)感じがする。XmingとXming-fontsをインストールする。で、Xmingをインストールしたディレクトリ(c:\Program Files\Xming\)中のX0.hostsを編集して、coLinuxマシンのIPアドレスを入れておく。

まずは、下のようにしてcoLinuxで割り当てられたIPアドレスをチェックする。この場合は192.168.0.2がcoLinuxに割り当てたIPアドレス。Windowsマシンで動いているXサーバ(Xming)にこのIPアドレスからの接続を許可する設定を追記する。

coLinux:~# ifconfig eth0 | grep inet
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0

で、現状の確認。Xmingをインストールしたディレクトリ内のX0.hostsというファイルに接続を許可するIPアドレスが書いてあるので、これを見てみるとlocalhostからの接続のみが許可されている。

> type "C:\Program Files\Xming\X0.hosts"
localhost

coLinuxはlocalhostで動いているわけではないのでこのままではcoLinuxから起動したXアプリケーションはwindowsで動いているXmingから接続拒否されるはずだ。ためしに下のようにしてcoLinuxでxeyesを起動してみる。

coLinux:~# xeyes
Xlib: connection to "192.168.0.1:0.0" refused by server
Xlib: No protocol specified
Error: Can't open display 192.168.0.1:0.0

ということで、拒否された。Xmingのログにも下のように拒否したとある。

reject from IP 192.168.0.2

ということで、X0.hostsにcoLinuxのIPアドレスを追記してcoLinuxからXmingへの接続を許可してみる。

> echo 192.168.0.2>> "C:\Program Files\Xming\X0.hosts"
> type "C:\Program Files\Xming\X0.hosts"
localhost
192.168.0.2

これで設定ファイルはOKのはずだ。この設定を反映させるためにXmingを終了して起動する。

最後にcoLinux側でDISPLAY変数をセットすれば、coLinuxでxeyesを起動出来るはずだ。

coLinux:~# export DISPLAY=192.168.0.1:0.0
coLinux:~# xeyes

そもそも、coLinuxでXアプリケーションを使うのにわざわざsshdを立てたり、sshコネクションを貼る必要は一切ない。それどころか、sshの暗号変換処理を挟むことで、体感速度が遅くなるようなきがする。

ssh

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2006-06-10T14:01:11+09:00
  2. Modified: 2006-06-10T11:30:27+09:00
  3. Generated: 2017-09-03T23:09:18+09:00