Network Users' Group ``wheel''
/
Dai ISHIJIMA's Page
/
ネットワーク系情報
/
Ubuntu LinuxのXorgでTCPをlistenさせる方法
初版: 2025-10-27
最終更新日:
2025-10-29
/usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/9999/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty -novtswitch -verbose 3という具合です。
[security] DisallowTCP = falseとします。
この設定ファイル「/etc/gdm3/custom.conf」を編集したあと
sudo /etc/init.d/gdm3 restartなどとすると、現在のログインセッションが切れます。 そして、再ログインして「ps axlw | grep Xorg」などで確認すると
/usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/9999/gdm/Xauthority -background none -noreset -keeptty -novtswitch -verbose 3となります。ただし「-listen tcp」も付かない状態です。
#!/bin/sh # # Execute Xorg.wrap if it exists otherwise execute Xorg directly. # This allows distros to put the suid wrapper in a separate package. basedir=/usr/lib/xorg if [ -x "$basedir"/Xorg.wrap ]; then exec "$basedir"/Xorg.wrap "$@" -listen tcp else exec "$basedir"/Xorg "$@" -listen tcp fi「"$@"」で渡されるオプションに、さらに「-listem tcp」を追記します。
このように「/usr/bin/Xorg」スクリプトを編集したあと、 再ログインすると、
/usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -novtswitch -verbose 3 -listen tcpのように「-listen tcp」を付けてXorgが動きます。
xhost +とします。
他のサーバでクライアントを表示したい場合は、 たとえば、Xサーバが192.168.100.10で動いているのであれば、 「$DISPLAY」に「192.168.100.10:0」といった値を指定します。 bsh系であれば
export DISPLAY=192.168.100.10:0とし、csh系であれば
setenv DISPLAY 192.168.100.10:0とします。
Xephyr :3 -listen tcpのようにします。 詳細はXephyrのマニュアルを参照してください。
このXephyrに表示したい場合は、 「$DISPLAY」に「192.168.100.10:3」のように、 IPアドレスに「:」を付けてディスプレイ番号を指定します。
しかし、ある種のXクライアント(たとえば、C●MS●Lなど)は、 直接Xサーバと通信しないと描画をしません。 そのような場合は、セキュリティが下がりますが、 こういった設定が役に立ちます。 「xhost」コマンドを上手に使って、関係ないクライアントが 手元のXサーバにアクセスしないようにして使ってください。