vine-users ML アーカイブ



[vine-users:072430] 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:072430] Re: startx $B$+$i(BX $B$rN)$A>e$2$k$H(B xserverrc $B$rFI$_$^$;$s(B
  • Date: Fri, 15 Jul 2005 18:44:20 +0900
藤田と申します。

私もこのあたりの話に興味があるのでいろいろためしました。

remote_host : X クライアント
local_host : X サーバ

ということで書いています。
両方共 Vine Linux を想定しています。

 Date: Fri, Jul 15, 2005 at 01:29:09PM +0900
 Subject: [vine-users:072429] startx からX を立ち上げると xserverrc を読みません
 Message-Id: <42D73B95.9040607@xxxxxxxxxx>

> 吉見と申します。
> 
> linux 3.1 を使っています。
> 
> 仕事場で使用しているマシンで、リモートマシンで走らせるXクライアントをX
> window 上に開かせる必要があります。

という目的だけであるなら、ssh のポートフォワーディングで可能です。
Xクライアント側が Vine Linux なら ssh で local_host から remote_host に
ログインした時に
user@remote_host% echo $DISPLAY
<remote_host>:10.0

の様に、remote_host の 6010 ポートに X プロトコルを投げるように
なっているようです。 6010 は ssh でフォワーディングされ
local_host の 6000 につながっているようです。

このため、X クライアント側ではただたんに、
user@remote_host% kterm
とするだけで、X サーバ側(local_host)に表示されました。

> ログインはテキストで行い、そこでstartx で起動します。
> しかし、xauth などの設定を行ってもできません。
> 
> 具体的には、
> ○ ps eaxwf |grep /usr/X11R6/bin/X
> とすると、以下のように表示される
>  3607 ?        S    268:27              \_ /usr/X11R6/bin/X :0 -dpi 96
> -nolisten tcp
> 
> ○ remote マシンで、kterm -display local:0.0 としてもエラーになる。
> 
> などです。X クライアントが使用するポート 6000 が開いていないのです。セ
> キュリティ上は問題あるようですが、仕事上リモートマシンのクライアントの表
> 示ができないと困るのです。
> 
> 
> 詳しくしらべると、原因はstartxにあることがわかりました。
> startxはシェルスクリプトで、引数をつくってxinitを呼んでいるのですが、そ
> のなかで、
> 
> serverargs="-dpi 96 -nolisten tcp"
> 
> として -nolisten tcp をセットしています。

これを外せば X11 をそのまま通すことができますが、セキュリティ上
よくないと言われています。

   (略)
> 逃げ方としては、
> (A) startx を書き換えて nolisten tcp をはずす

私は当初、(A)で回避していましたが、いろいろ調べて行くうちに
ssh の forwarding で大丈夫であることがわかりました。

   (後略)