初めての店舗開業を成功させよう>>

現在CentOS5.3にてXプログラムのテストを行っているのですがdisplayオプションについて質問させて下さい。

(1)Xeyes -display :0.0
(2)Xeyes -display localhost:0.0

上記コマンドは同じ意味ではないのでしょうか。
(1)はEYEのグラフィックウィンドウが正しく表示されるのですが(2)はunable openになってしまいます。

/etc/hostsにlocalhostはローカルループバックアドレス(127.0.0.1)として登録されておりpingは通ります。
またネームリゾルバを定義するファイルもorder hosts,bindとなっております。

以上有識者の方ご教授下さい。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

> 上記コマンドは同じ意味ではないのでしょうか。



いいえ、X(7)マニュアルによれば、前者はXクライアントからXサーバへ
の接続において、「同じマシン上にあるサーバと通信するのに最も効率
の良い方法が使われる」とあり、大抵の場合UNIXドメインソケット
(場合よって共有メモリ)が使用されるはずです。後者は、TCP/IPが
使われます。


XサーバにTCP/IP接続ができない理由はいくつか考えられます。

1. XサーバがTCP/IP接続を許可していない

 最近のXサーバは、デフォルトでTCP/IPを受け付けない設定になって
いるものが多いです。CentOS(Redhat)の場合は
 [システム]->[管理]->[ログイン画面]->[セキュリティ]->TCP接続を禁止する
のチェックを外すことによってTCP/IP接続が可能となります。


2. localhost からのアクセスを許可していない

 1.でTCP/IP接続を可能としても、「どこからのアクセスも
許可しない(localhostからも)」設定になっているため接続できない
可能性もあります。localhostからのアクセスを許可するには、
xhostコマンドを使用します。
 xhost localhost
と打ってみてください。Xサーバがlocalhostからのアクセスを許可する
ようになります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
また返信が遅くなりましたことをお詫びさせて頂きます。

UNIXドメインソケットが使用されているのであれば、インターネットドメインソケットとは違う動作になることが理解できました。

またXサーバへのTcp接続については2は試行ずみだったのですが、1に関しては全く意識していませんでした。
ご教授頂いた内容を試したところ(2)が正常に動作しました。

以下に確認項目を記載させて頂きます。
/etc/gdm/custom.confの[security]セクションにDisallowTCP=falseの行が追加。(テスト環境はgdmを使用)
上記設定の前後でXサーバ(Xorg)の起動オプションに-nolisten tcpが指定、未指定が制御される。

大変助かりました。
ありがとうございました。

お礼日時:2009/07/06 11:15

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


人気Q&Aランキング