- PR -

cygwinをXサーバとして用いたUNIX接続について

1
投稿者投稿内容
たいき
会議室デビュー日: 2002/05/11
投稿数: 14
投稿日時: 2004-08-22 15:00
サンの開発環境workshopをPC端末から利用したいと考えています.
そこで,「真ゼロ円でできるXサーバ Cygwin」の記事を参考にして,とりあえずCygwinをインストールしてみました.
インストール後,startxwin.sh を起動したところ,
「xterm Xt error」が出力され,Xウィンドウは開くのですが,中には xterm の窓が現れません.
「XWin -multiwindow -clipboard -silent-dup-error &」
でXサーバ起動がすぐ完了しないために
「xterm -sl 1000 -sb -rightbar -ms red -fg yellow -bg black -e /usr/bin/bash -l &」で異常になってしまうのでしょうか?
単に標準の startxwin.sh を起動しているだけなのですが,何が原因なのかご指摘いただけませんか?

仕方ないので,startxwin.sh を起動した窓からDISPLAY環境変数の設定だけして「xterm &」で xterm の窓は開けるのですが,このとき,開いた xterm から telnet をしてもプロンプトが返ってくるだけなのですが,これは異常なのでしょうか?
startxwin.sh を起動した(cygwin起動直後の)窓にて,telnet を起動すれば普通にユーザIDを問い合わせて接続できることはわかってます.

「真ゼロ円でできるXサーバ Cygwin」で出てくる「xhost実行,telnet起動〜」等は xterm から行うのではなく,cygwin起動直後の窓から行うものなのでしょうか?

すみません,初歩的な内容だと思うのですが,回答よろしくお願いします.
ストラト
会議室デビュー日: 2004/09/13
投稿数: 6
投稿日時: 2004-09-30 01:09
私は職場で使ってますが、参考になるかもと思ったので書き込んでみました。

1,CygwinのコンソールからX-Windowを立ち上げ
# startxwin.bat

2,立ち上がったX-Windowのコンソールで他のホストの受け入れを許可
# xhost +

3,telnetで目的のホストに接続、ログイン

4,ログインしたホストでDISPLAY環境変数を自分のPCのIPアドレスに設定
export DISPLAY=XXX.XXX.XXX.XXX:0.0 (bashの場合)

5,ログインしているホストでGUIを起動


これで、普通は目的のアプリケーション等の窓が出力されるのですが、
参考になったでしょうか。


[ メッセージ編集済み 編集者: 未記入 編集日時 2004-09-30 01:10 ]
cn009
ベテラン
会議室デビュー日: 2004/05/13
投稿数: 72
投稿日時: 2004-10-03 12:50
「xhost +」はそのX Serverへのアクセス制限を一切行わないという事なので、
基本的に行うべきではありません。
# 画面のスクリーンショットを撮られたり、キーストロークを読まれたり・・・

面倒でも「xhost + [server_IP]」とするべきです。
# PFW等でアクセス元を制限していたりしていれば、問題ないですが。

また、xhost の場合は許可を与えたマシンからは誰でも、
xhost を実行したマシンのX Serverにアクセスできてしまいます。
xauth を利用すれば、Magic Cookie というランダムな値を
X Server へのアクセス制御に利用できます。
# xauth の設定をするのは結構面倒ですけどね。

# たしか、利用するアプリが接続してきた後なら「xhost -」としても
# 問題がなかったと思います。

リモートマシンのXアプリをcygwinから使う場合の、私のお勧めの方法は
「C:\cygwin\usr\X11R6\bin\startxwin.bat」のショートカットを作成し、
作業フォルダを「C:\cygwin\usr\X11R6\bin」としておきます。
そして、SSHクライアントのXの転送を有効にしておきます。
そうすれば、$DISPLAY 環境変数も自動的に設定されます。
xauth の設定も行ってくれるので、かなり安全になります。

# startxwin.bat の「run xterm ...」をコメントアウトするとより便利かもしれません。


また、xauth を利用しても root は xauth のファイルも読めるので、
その X Server にアクセスできてしまいますが、そのおかげで
[user@hostname]$ echo $DISPLAY
[user@hostname]$ /bin/su -
[root@hostname]# xauth merge ~user/.Xauthority
[root@hostname]# DISPLAY=localhost:10.0 ethereal &
のような便利な使い方も出来ます。
もちろんrootで指定するDISPLAY環境変数はuserで確認しておいてください。


[ メッセージ編集済み 編集者: cn009 編集日時 2004-10-03 12:52 ]
1

スキルアップ/キャリアアップ(JOB@IT)