vine-users ML アーカイブ



[vine-users:072473] Re: startx $B$+$i(BX $B$rN)$A>e$2$k$H(B xserverrc $B$rFI$_$^$;$s(B

  • From: Fujita Yoshihiko <starfish@xxxxxxxxxxxxxxxx>
  • Subject: [vine-users:072473] Re: startx $B$+$i(BX $B$rN)$A>e$2$k$H(B xserverrc $B$rFI$_$^$;$s(B
  • Date: Thu, 21 Jul 2005 22:33:57 +0900
藤田です。

 Date: Thu, Jul 21, 2005 at 10:46:43AM +0900
 Subject: [vine-users:072469] Re: startx からX を立ち上げると xserverrc を読みません
 Message-Id: <42DEFE83.4020300@xxxxxxxxxx>

> 吉見です。
> 
  (略)
> 
> 上記の ssh による方法をためしてみました。
> 近くのlinux マシン(remote_host)で
> 
> (1) ssh ははいっていました。
> (2) nolisten tcp をはずした改造startx ではウィンドウをひらくことができま
> した。
> (3) ssh によるクライアント表示は失敗しました
> 
> まず、
> [1] remote_host にログインしたときに DISPLAY が定義されていません。
> これは個人の環境設定の問題でしょうか。

/etc/ssh_config 内に
Host *
  ForwardX11 yes
があるか、ssh -X オプションをつけると設定されるみたいです
(ssh サーバ、クライアントともに Vine Linux で試しました)

> 
> [2] そのまま kterm を実行すると、当然ながらエラーになります。
>    kterm Xt error: Can't open display:

Vine Linux で、/etc/ssh_config の ForwardX11 yes をコメントアウト
すると同じことになります。

> 
> [3] 手動で DISPLAY をセットして、kterm を実行するとエラーになります。
> 
>       remote_host > setenv DISPLAY  remote_host:10.0
>       remote_host > echo $DISPLAY
>       remote_host:10.0
>       remote_host > kterm
>       _X11TransSocketINETConnect: Can't connect: errno = 111
>       ...(繰り返し)
> 
> このエラーは、次のどれを行っても同様におきます。
> 
>       remote_host > kterm -display remote_host:10.0
> 
>       remote_host > kterm -display local_host:0.0
> 
> 
> remote_host:6010 が local_host:6000につながっていることを確認する方法は

そもそも、6010 ポートを listen しているかどうかを確かめるといいと
思います。
こちらでは -X オプションをつけるか、ssh クライアント側の
/etc/sshd_config  または ~/.ssh/config に ForwardX11 yes の状態で
ssh サーバにログインして、

user@remote_host% netstat -l -n | grep '^tcp' | grep '6010'
tcp        0      0 0.0.0.0:6010            0.0.0.0:* LISTEN 

となります。

> どうするのでしょうか。
> 
> 藤田さんの前の記事で
> > user@remote_host% echo $DISPLAY
> > <remote_host>:10.0
> と書かれているremote_host の両側の< > はもしかして意味があるのでしょうか。

ありません。妙な書き方をして混乱させてすみません。

あと、ssh サーバ側の設定ですが、man sshd_config によれば、
/etc/ssh/sshd_config に
X11Forwarding yes
がいるみたいです。
コメントアウトして、sshd を再起動すると
ssh クライアント側で -X オプションをつけようが DISPLAY が設定されず
6010 ポートの待ち受けも無くなります。


と言うことで、

ssh クライアント側
-X  オプション or
/etc/ssh/ssh_config (~/.ssh/config) に
XForwarding yes

ssh サーバ側
/etc/ssh/sshd_config に
X11Forwarding yes
を設定し、ssh を再起動

ssh サーバにログイン後
user@remote_host% echo $DISPLAY
remote_host:10.0
(ここの数字は X11DisplayOffset の設定みたい。)

となり、しかも
user@remote_host% netstat -l -n | grep '^tcp' | grep '6010'
tcp        0      0 0.0.0.0:6010            0.0.0.0:*         LISTEN
(ここの 6010 という数字は 6000 + X11DisplayOffset の数字。すでに
 使われていれば順次増えるみたいです)

となっていれば、おそらく多分、うまくいくのではないかと。
Solaris に netstat があるのかどうか知りませんし、出力が同じかどうかも
知りませんので、読みかえてください。