我有一些需要访问 X 服务器的 X 客户端程序。它只能通过 TCP 访问 X 服务器,不能通过其他方法(如 unix 域套接字)访问。它将在与服务器相同的主机上运行,以使事情变得简单。
那么,如何让我的 Xorg 服务器侦听 TCP 端口 6000,但仅侦听来自本地主机的连接?
我发现如何让 X.org 侦听端口 6000 上的远程连接?,它解释了如何启用远程主机的访问,但我并不真正想要远程访问(主要是出于安全原因)。
我想以某种方式将默认传输转发到 TCP,但我并没有真正找到有关默认传输是什么的信息。
(我在这里使用 kdm 作为我的显示管理器,但我认为我可以为任一显示管理器传输解决方案,甚至切换显示管理器。)
有任何想法吗?
这是在 11.04 上的混合 Kubuntu-Ubuntu-XUbuntu 安装(最初是 Kubuntu,但我添加了 ubuntu-desktop 和 xubuntu-desktop。在启动时它现在说是 Xubuntu 11.04)。我现在正在使用 KDM 的 gnome-classic 桌面。
我刚刚安装了 ubuntu 11.10。我想从另一个系统运行 x-app。
我更新./xinit/xserverrc并删除了该-nolisten选项。我重新启动。
我可以看到 X 以 nolisten 选项启动。
我没有/etc/gdm子目录。
Ubuntu 15.04 64 位桌面。
安装系统 X 服务器后,运行-nolisten tcp选项:
922 tty7 Ssl+ 0:05 \_ /usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
Run Code Online (Sandbox Code Playgroud)
我添加xserver-allow-tcp=true到
/etc/lightdm/lightdm.conf并重新启动。所以X现在开始没有-nolisten tcp:
2688 tty7 Ssl+ 0:07 \_ /usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 vt7 -novtswitch
Run Code Online (Sandbox Code Playgroud)
但X实际上并没有监听任何 tcp 端口:
sudo netstat -Wpnatu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN …Run Code Online (Sandbox Code Playgroud) 自从我从 Ubuntu 18.04 升级到 19.10 以来,我的远程 TCP-XWindows 坏了,我需要它来工作。
我正在开发一个非常旧的当前生产系统,它使用旧式 X11 TCP 连接。它不能使用SSH X 转发。我需要让 Ubuntu 接受远程 TCP 连接(来自老化的 Solaris 机器)。
这与如何使 X.org 侦听端口 6000 上的远程连接密切相关?. 但是,我已经完成了答案中的所有操作,但问题仍然存在。
我需要能够运行远程 X-Windows 应用程序,例如:
xeyes -display 192.168.1.111:0.0
Run Code Online (Sandbox Code Playgroud)
并让它出现在我的本地工作站上。但我得到的是(当然):
Error: Can't open display: 192.168.1.111:0.0
Run Code Online (Sandbox Code Playgroud)
我已经编辑/etc/gdm3/custom.conf,包含:
[security]
DisallowTCP=false
[xdmcp]
ServerArguments=-listen tcp
Run Code Online (Sandbox Code Playgroud)
我肯定在跑步gdm,而不是lightdm。
我还编辑了/etc/X11/xinit/xserverrc,现在它说:
exec /usr/bin/X -listen tcp "$@"
Run Code Online (Sandbox Code Playgroud)
尽管我希望gdm无论如何都会修改它。
我已经发出命令xhost +remote_server_name并且xhost +(在绝望中)。
我可以看到 X11 在端口 6001 上侦听。(x11-1 …