FreeBSD QandA 1002

FreeBSD QandA

Q. X の program を、別の端末に表示しようとしたら
     Xlib: connection to "サーバ:0.0" refused by server
     Xlib: Client is not authorized to connect to Server
     Error: Can't open display: サーバ:0.0
   と、error になって、表示できませんでした。

A. X が、どこからの connection でも、すべて表示できたら、
   セキュリティのかけらもないので、デフォルトでは、その
   X server が立ち上がっているマシン以外からの接続は、拒絶します。

     X server : pc.hogehoge.or.jp
     remote client : client.hogohoge.or.jp
   の時、pc.hogehoge.or.jp 側で、環境変数 DISPLAY が
   pc.hogehoge.or.jp:0.0 のような指定がされている状態で、
     % xhost +client.hogehoge.or.jp
   とすると client.hogehoge.or.jp からの*すべて*の X の接続を許可するようになります。
     % xhost +
   では、すべてのマシンからの接続を許可します。
   いつも設定しておきたいなら ~/.xinitrc などの中で、pc で X を起動する時に
   自動実行しましょう。

   xon のバージョンによっては、xhost +host を、自動でやってくれるものもあります。

   また、xauth を使用すれば、もうすこし細かい制限もできます。(ref.man xauth)

   また remote host がそれなりに遠い場所にあるなどで安全面で不安があるなら、
   ssh を入れて、それでログインしてから X client を起動すると
   local host への X の転送は勝手にやってくれます。

間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。