![X11 转发显示始终为:0](https://linux22.com/image/936362/X11%20%E8%BD%AC%E5%8F%91%E6%98%BE%E7%A4%BA%E5%A7%8B%E7%BB%88%E4%B8%BA%EF%BC%9A0.png)
我已经尝试了几个小时让远程主机的 X11 转发正常工作。我知道它以前可以正常工作,但主机被物理移动后就不再正常工作了。我不确定这是否相关,但我还是把它包括进去,以防它给我一个可以检查的区域。
远程机器已X11DisplayOffset 10
设置,因此我们期望的值DISPLAY
类似于:10
或,localhost:10
但它始终是:0
。因此似乎有东西可以覆盖它,但我不知道会是什么。
我尝试过的事情:
xhost +
使用本地禁用访问控制- 将
X11UseLocalhost no
和添加X11Forwarding yes
到远程机器的sshd_config
- 重新启动
sshd
服务、远程机器和我的本地机器。 ssh -vvvX
显示debug2: X11 forwarding request accepted on channel 0
所以我在假设连接正常的情况下工作。- 检查我的登录脚本是否触及
DISPLAY
iptables
显示它没有阻止端口 6000- 我已启用
all
来自此主机的传入数据包类型sudo iptables -A INPUT -p all -s {host ip} -j ACCEPT
export XAUTHORITY=$HOME/.Xauthority
在远程机器上- 我可以与其他主机进行 xforward,这样它就不会在我的计算机上受到攻击。
- 确保
xauth
已安装在远程主机上。 - 手动设置
DISPLAY
为每种组合localhost/127.0.0.1:0/10.[0]
- 尝试
ssh -X
两者ssh -Y
我所得到的:
$ xeyes
Error: Can't open display: :0
答案1
无法发表评论,所以在这里写。您回复后会更新。
您是否进行ssh -X host@ip
了连接?
尝试在远程电脑上运行此命令:
export DISPLAY='IP:10.0'
**请注意,IP 是您希望显示 GUI 应用程序的本地工作站的 IP(127.0.0.1)。
还要确保xauth
已安装在您的系统中
如果可能的话,重新启动 sshd 服务或整个工作站,然后尝试。