Eu tenho um vncserver em execução em uma caixa do RHEL 6.8. Quando acesso essa sessão por meio de um visualizador VNC, percebo que não posso executar programas x (como xterm) se modificar a variável DISPLAY para incluir o nome do host do servidor. Por exemplo:
[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]
Posso fazer ping para mim mesmo usando este nome de host:
[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
Aqui está a entrada VNC na lista de processos:
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
E o conteúdo de .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>
DIVULGAÇÃO: Eu percebo que se DISPLAY contém o nome do host ou não faz pouca diferença no sistema local. O problema que estou realmente tentando descobrir é por que tenho o mesmo problema de exportar um DISPLAY de um host remoto para este servidor VNC - recebo a mesma mensagem "Não é possível abrir a tela". No passado, quando eu recebi essa mensagem, o problema era sempre xhost não permitindo conexões remotas. Mas desta vez definir "xhost +" não ajudou. Eu pensei que o fato de usar um nome de host na variante DISPLAY na máquina local, também acionando o problema, era uma pista.
Alguma idéia de como depurar esse problema? Obrigado!