
Googleに同じ質問をしましたが、結果が気に入りませんでした。
何ですか/tmp/.X11-unix/
?
答え1
私の最新のArchノートブックには/tmp/.X11-unix/
1つのエントリがあるディレクトリがありますX0
。Unixドメインソケット。
X11サーバー(Xorg
通常は現在)は、xterm
一種の安定したバイトストリームを介してFirefoxなどのクライアントと通信します。 Unixドメインソケットは、おそらく世界中に公開されているTCPソケットよりも安全であり、カーネルがすべてを実行し、イーサネットやワイヤレスカードに頼る必要がないので、おそらく少し速いでしょう。
私のX11サーバーは次のとおりです。
bediger 294 293 0 Apr09 tty1 01:23:26 /usr/lib/xorg-server/Xorg -nolisten tcp :0 vt1 -auth /tmp/serverauth.aK3Lrv5hMV
「-nolisten tcp」は、通信のためにTCPポート6000を開くのを防ぎます。
このコマンドは、lsof -U
どのプロセスがどのUnixドメインソケットを使用しているかを知らせることができます。Xorg
に接続されていると思います/tmp/.X11-unix/X0
。
答え2
XサーバーがXクライアント(アプリケーション)と通信する方法はいくつかあります。 (少なくとも同じシステムでは)最も一般的に使用されるのはUnixドメインソケットです。
Unixドメインソケットは、アドレスとポートに接続する代わりに接続することを除いて、より使い慣れたTCPソケットに似ています。道。物理ファイル(ソケットファイル)を使用して接続します。
Xサーバーはソケットを次の場所に置きます/tmp/.X11-unix
。
$ ls -l /tmp/.X11-unix/X0
srwxrwxrwx 1 root root 0 Dec 18 18:03 /tmp/.X11-unix/X0
s
前の権限を参照してください。これはソケットであることを意味します。複数のXサーバーが実行されている場合は、そこに複数のファイルがあります。
ソケット(通常)の詳細については、少なくともLinuxのマニュアルページにありますman 7 socket
。 Unix ドメインソケットの詳細情報は にありますman 7 unix
。このページはプログラマーを対象としています。
答え3
/tmp/.X11-unix/X{n} は、X サーバーが受信 AF_DOMAIN ソケットを配置する場所です。ロックと同じ場所の近くに /tmp/.X{n}-lock があります。で議論したようにhttps://bugzilla.redhat.com/show_bug.cgi?id=503181このソリューションはFHSには適していません。