藤田と申します。 java で書いた GUI プログラムを別の remote PC から起動して local PC 上に表示させることを行いました。 多少の疑問が残ったものの、成功しましたので紹介しておきます。 remote PC: Vine Linux 3.1 192.168.0.2 local PC: Vine Linux 3.1 192.168.0.4 run level はいずれも 3 です。 (run level 5 に関しては、gdm.conf 辺りが怪しいようです。 過去のメールにありました。) まず、単純に local PC から remote PC へ ssh でログインし、 remote PC 上から kterm が起動するか試しました。 local$ ssh remote remote$ kterm この場合、local 上に kterm が表示されました。 同様に、ボタンを表示する Java プログラムを実行します。 local$ ssh remote remote$ java MyJButton この場合、local 上にウィンドウが出ますが、ボタンは表示されません。 この原因はエラーメッセージが出なかったため結局わからないままです。 そこで、xhost を用いての表示を試みました。 すると、エラーが出てしまいます。 local$ xhost + 192.168.0.2 local$ ssh remote remote$ env DISPLAY=192.168.0.4:0.0 java MyJButton Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using '192.168.0.4:0.0' as the value of the DISPLAY variable. at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) (略) どうやっても表示できなかったのですが、ふと、local PC の X の引数に -nolisten tcp が付いているのに気がつきました。 jman X に記述がなかったのですが、おそらく tcp で listen しないようにして、 全て、ssh の forwarding で行おうとしているのだと思いますが、 /usr/X11R6/bin/startx 内の serverargs="-dpi 96 -nolisten tcp" を serverargs="-dpi 96" に変えて、startx を行いました。 そのあと、同様に local$ xhost + 192.168.0.2 local$ ssh remote remote$ env DISPLAY=192.168.0.4:0.0 java MyJButton を行うと無事、local PC (192.168.0.4) 上に表示されました。 セキュリティ的な問題などはあるとは思いますが、うまい具合に ssh のフォワーディングができなかった? ために、このような 方法になりました。 xhost や DISPLAY の指定をしなくても、kterm などは普通に表示されるのに、 Java だけが表示されないのは謎ですが、とりあえず xhost と DISPLAY を使えば java アプリケーションを別の PC 上に 表示できるようです。