无法使用 DISPLAY 中的主机名访问 vncserver

无法使用 DISPLAY 中的主机名访问 vncserver

我在 RHEL 6.8 机器上运行了一个 vncserver。当我通过 VNC 查看器访问此会话时,我注意到,如果我修改 DISPLAY 变量以包含服务器的主机名,我将无法运行 x 程序(如 xterm)。例如:

[foo][/home/user]>echo $DISPLAY
:5.0
[foo][/home/user]>xhost +
access control disabled, clients can connect from any host
[foo][/home/user]>xterm

<xterm window opens - I type 'exit' in the xterm to close it>

[foo][/home/user]>hostname
foo.mydomain.com
[foo][/home/user]>export DISPLAY=foo.mydomain.com:5.0
[foo][/home/user]>xterm
xterm Xt error: Can't open display: foo.mydomain.com:5.0
[foo][/home/user]>xhost
xhost:  unable to open display "foo.mydomain.com:5.0"
[foo][home/user]

我可以使用此主机名 ping 自己:

[foo][/home/user]>ping foo.mydomain.com
PING foo.mydomain.com (192.168.1.200) 56(84) bytes of data.
64 bytes from foo.mydomain.com (192.168.1.200): icmp_seq=1 ttl=64 time=0.026 ms
64 bytes from foo.mydomain.com (192.168.1.200): icmp_seq=2 ttl=64 time=0.027 ms
64 bytes from foo.mydomain.com (192.168.1.200): icmp_seq=3 ttl=64 time=0.029 ms

这是进程列表中的 VNC 条目:

user   22129     1  0 16:15 pts/70   00:00:22 /usr/bin/Xvnc :5 -desktop foo.mydomain.com:5 (user) -auth /home/user/.Xauthority -geometry 1270x1014 -rfbwait 30000 -rfbauth /home/user/.vnc/passwd -rfbport 5905 -fp catalogue:/etc/X11/fontpath.d -pn

.Xauthority 的内容如下:

[foo][/home/user]>xauth
Using authority file /home/user/.Xauthority
xauth> list
foo.mydomain.com:5  MIT-MAGIC-COOKIE-1  <long hex value>
foo.mydomain.com/unix:5  MIT-MAGIC-COOKIE-1  <same long hex value as above>
xauth> 

披露:我意识到 DISPLAY 是否包含主机名对本地系统影响不大。我遇到的问题是真的试图弄清楚为什么我在将 DISPLAY 从远程主机导出到此 VNC 服务器时遇到同样的问题 - 我收到相同的“无法打开显示”消息。过去当我收到该消息时,问题总是 xhost 不允许远程连接。但这次设置“xhost +”没有帮助。我认为在本地计算机上的 DISPLAY 变量中使用主机名也会触发问题这一事实是一个线索。

关于如何调试此问题,您有什么想法吗?谢谢!

答案1

尝试-listen tcp添加VNCSERVERARGS

VNCSERVERARGS[2]="-geometry 800x600 -listen tcp"

或者,如果您直接从命令行打开会话:

vncserver -listen tcp

相关内容