アプリ版:「スタンプのみでお礼する」機能のリリースについて

WindowsXPのマシンでcygwinのXサーバーを立ち上げて、Puttyを用いてSSHでリモートのLinuxサーバーにアクセスしようと思います。(つまりXウインドウも飛ばしてきてほしいのです。)

1.WindowsXPのマシンにcygwinとPuttyをインストールしました。

2.C:\cygwin\usr\X11R6\bin\startxwin.bat を実行し、cygwinのXサーバーを立ち上げる。ちなみに、startxwin.batの内容は、デフォルトのstartxwin.batに

run xhost ***.***.***.***

を書き加えたのみ。(***.***.***.***がLinuxサーバーのhostname)

3.この状態で、Puttyを立ち上げてSSHでリモートのLinuxサーバーにアクセスし、ログイン。

4.適当にXウインドウを使うアプリケーションを立ち上げてみる。(以下のアカウントは仮名。また、???.???.???.???はWindowsマシンのhostname)

login as: monkey
monkey@***.***.***.***'s password:
Last login: Sun Jun 5 03:09:21 2005 from ???.???.???.???
setenv DISPLAY ???.???.???.???:0.0

% xv
Xlib: connection to "???.???.???.???:0.0" refused by server
Xlib: No protocol specified

xv: Can't open display

あれぇ?ちゃんとxhostでLinuxサーバーは指定したし、しかもディスプレイも目の前のマシンに切り替わってるはずなのに、
サーバーに拒否されるってどういうことよ???

5.Xサーバー、Puttyが立ち上がっている状態で、再度
C:\cygwin\usr\X11R6\bin\startxwin.bat を実行。

6.再度、LinuxサーバーからXウインドウを送ってみる。
% xv

・・・おおっ!Xウインドウが飛んできたぞ!大成功!
でもなんで C:\cygwin\usr\X11R6\bin\startxwin.bat を2回実行しないと
xhost ***.***.***.***
が有効になってくれないんでしょうか?
どなたか分かる方、教えていただけませんでしょうか?

A 回答 (1件)

xhostは、Xサーバ(ここではXWin.exeですね)がきちんと起動した状態でなければ動きません。



従って、原因として可能性が高いのは、そもそもstartxwin.batの中でxhostが実行されている瞬間に、またXサーバが起動完了してないということです。

私は、cygwinのXを使用するときは、コンソールのcygwin窓からstartxして使用しています。この方が普通のXと同じような使い方ができますし、.xinitrcで必要な初期化処理を行うことができるからです。

以上 ご参考までに。
    • good
    • 0
この回答へのお礼

なるほど、そういうことですか。
確かに私が書いたスクリプトだとXWin.exeの後ですぐにxhost実行しちゃってますから、Xサーバーがまだ立ち上がってない可能性大ですね。
大変参考になりました。ありがとうございます。

お礼日時:2005/06/07 02:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!