我想xclock
在另一台电脑上显示。
在我的计算机 ( 111
) 上,我可以访问家庭网络内的ping
另一台计算机 ( ):222
$ ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 44:55:66:77:88:99
inet addr:192.168.0.111 Bcast:192.168.0.255 Mask:255.255.255.0
$ ping 192.168.0.222
路由器是D-Link的DIR-655 无线N千兆路由器。
$ xclock -display 192.168.0.111:0
xclock
按预期在我的计算机 ( ) 上显示111
。在另一台计算机 ( 222
) 上:
$ xhost +
但随后回到我的计算机 ( 111
),当更改为:时,它也会显示在我的计算机上:
$ xclock -display 192.168.0.222:0
要尝试验证开关的使用-display
:
$ xclock -display 192.168.0.111:0.1
Error: Can't open display: 192.168.0.111:0.1
$ ping 192.168.0.333
ping: unknown host 192.168.0.333
$ xclock -display 192.168.0.333:0
我预计它会失败,但它也会显示在我的计算机上 ( 111
),但有一点延迟。这些结果告诉我,display
争论已经到了xclock
。
$ uname -a
Linux mycomputer 3.2.0-27-generic #43-Ubuntu SMP Fri Jul 6 14:46:35 UTC 2012 i686 i686 i386 GNU/Linux
我在用LXDE而不是 GNOME 或 KDE。
我只是试图展示xclock
,对解决这个问题中的安全问题不感兴趣。
答案1
需要检查两件事:端口 6000 需要在 222 计算机上打开(配置或禁用防火墙),并且 X 服务器本身需要侦听该端口。这在现代发行版中通常被禁用。检查它是否正在监听
# netstat -nltp | grep 6000
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 10818/Xorg
tcp6 0 0 :::6000 :::* LISTEN 10818/Xorg
如果没有,您可以在 /etc/gdm/custom.conf 中为 gdm 启用它
[security]
DisallowTCP=false
在222机器上注销/重新启动gdm并再次登录。然后您应该看到 Xorg 正在监听端口 6000。
答案2
在我的电脑上 ( 111
):
ssh -X 192.168.0.222
简单地接着是:
xclock
xclock
将在另一台计算机上运行( 222
) 并在我的计算机上显示 ( 111
)。
注意:要使其工作,应在计算机 ( )X11Forwarding
中启用/etc/ssh/sshd_config
222
答案3
你可以做最简单的:)
$ ssh -X 192.168.0.222 "xclock"
答案4
这是更新的答案。它对我全新安装的 Ubuntu 18.04.02 有用。
我安装了 ssh 服务器以使系统可以通过 ssh 访问。
默认情况下没有任何内容被阻止,请验证它。所以无事可做。
iptables -L
我打开文件/etc/gdm/custom.conf
并添加
[security]
DisallowTCP=false
我取消注释以下内容/etc/ssh/sshd_config
AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10
我重新启动机器并运行命令xhost +
现在我转到第二台计算机并运行命令,确保安装了 xclock 并假设命令的输出echo $DISPLAY
为:1
xclock -display IP_Address:1
您将在 ubuntu 计算机上看到 xclock。
netstat -antlp | grep 6001
正在向 Xorg 展示监听。