xon(1)
を使っていると、初めのうちはうまく動いてくれなくて
苦労します。
エラーメッセージが出ないので初めのうちはワケワカランことも。
でも、一歩ずつ問題を潰していけば使えるようになるはずです。
xon
(1) は rsh
(1)である(HP-UXユーザーはremsh
に読み変えましょう)
xon
のコードを見てもらえば分かりますが、
これは実はシェルスクリプトです。
内部的には
% rsh remotehost xterm -display $DISPLAYを、さらに(かなり?)細工しているだけです。 ですから、上の
rsh
が正常に実行できれば
xon
も使えるはずです。
xon がやっている細工の大部分は、ローカル側の rsh、リモート側の sh を残さずに xterm だけを動かすようにするもの。 自分でこれをやってみるのもいい勉強になります。エラーメッセージが出ないのは stdout などをここで全部捨てているからです。
.rhosts
は正常か?まず
% rsh remotehost dateが使えるかどうか試してみましょう。
xon
を使おうと思っているレベルの人ならこれが動かない
ということはまずないと思いますが、
使えない場合は rlogin のマニュアルを参照して
リモート側の~/.rhosts
を設定しましょう。
rsh
がうまくいったら、今度はリモート側に rlogin し、
remote% kterm -display mydisplay:0を試してみます。
kterm Xt error: Can't open display: mydisplay:0
Xlib: Client is not authorized to connect to Server
local% xhost +とすればつながるようになります。 が、「セキュリティを無効にする」ことなので、本当は好ましくありません。 抜本的な対策はここでは述べませんが、
xauth
(1)にある例や
Xsecurity
(1)のマニュアルを参照して下さい。
DISPLAY
は?ローカル側のDISPLAY
環境変数がすでに FQDN であれば
(X端末ではそう設定されていることがある)
xon
は使えるようになっているはずですが、
FQDN でなかったり、コンソール (DISPLAY==":0.0") では
まだ問題が生じることがあります。
xon
のコードを見てもらえば分かりますが、
DISPLAY が ":0" や ":0.0" といった場合、リモート側には
`hostname`:0が
-display
の引数として
渡ります。
ここで、`hostmame`
が FQDN でないような場合
(ノード名だけ…BSD4.3以前のOSなど)、
これのIPアドレスがリモート側で索けないとうまくいきません。
local% rsh remotehost ping `hostname` ping: unknown host localこのような場合の解決方はいくつかあり、
/etc/hosts
に登録してもらうのが割と簡単です。
が、これを歓迎しない管理者もいますから、
`hostname`
に FQDN を入れてもらうxon
をいじる`hostname`
の部分を
`hostname`.
your.domain.ac.jpに
書き換えてしまいます。
(`domainname`
は意味が違うので使用不可)
自分の FQDN を得る方法というのは、実をいうと「美しい」 方法がないので、こうせざるを得ない部分があります。 (だから`hostname`にFQDNを入れておく)
DISPLAY=123.45.67.8:0
にしてしまう…DISPLAY=FQDN:0
にしてしまう…上のコンソールの事例に準じますが、DISPLAY
が
FQDN になっていなければ
LAN 内 (/etc/hosts
の勢力範囲)
でしか xon できないことがあります。
.xsessionで FQDN に加工したり、IPアドレスを直に入れてしまうのがいいでしょう。
:0.0
は あり得ないので、UNIX socket 云々は
関係ありません。
プロンプトからだと xon できるのに、twmなどのメニューに仕込むと 起動できないというような場合。 一番ありがちなのは、
{.xsession,.xinitrc} で PATH を設定してますか?
いわゆるデスクトップ環境なウィンドウマネジャならこのへんも
めんどう見てくれますが、プリミティブなものを使っていたり、
.cshrcをいじり倒していて.xsessionと食い違って来たような時に
現れます。
(PATH=`$SHELL -c 'echo $PATH'`
とかやるのが簡単かな)
…もっともこういった場合はメニューに仕込んだ普通の Xアプリケーションも起動しないはずなので xon 以前の段階で 悩んでるとは思いますが…