Estou me conectando a um servidor com um ambiente restrito sem cabeçalho, baseado no Debian Jessie, via SSH. Eu sou jogado lá por um sistema de filas de empregos, então eu não posso simplesmente usar as opções de encaminhamento do X11 com SSH.
Estou no Ubuntu no meu laptop. Eu quero ser capaz de executar aplicativos X11 nesse servidor, mas não há nenhum servidor X em execução.
Estou tentando usar um servidor X no meu laptop ouvindo uma porta TCP e conectando-a a partir da outra máquina, mas definitivamente estou fazendo algo errado.
Estou usando o Xpra no meu laptop para simplificar, já que não tenho o TCP ativado no meu servidor X primário.
laptop$ xpra --bind-tcp=0.0.0.0 start :100
laptop$ xpra attach :100
Algumas verificações simples para provar que o xpra está em execução:
laptop$ netstat -putan | grep 9100
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:9100 0.0.0.0:* LISTEN 28376/python
server$ telnet 172.16.243.95 9100
Trying 172.16.243.95...
Connected to 172.16.243.95.
Escape character is '^]'.
P<l10:disconnect42:invalid packet format, not an xpra client?eConnection closed by foreign host.
Além disso, posso mostrar janelas da mesma máquina:
laptop$ DISPLAY=:100 xterm # this just works
No entanto, não consigo fazer o mesmo no servidor.
server$ DISPLAY=172.16.243.95:9100 xterm
xterm: Xt error: Can't open display: 172.16.243.95:9100
Estou especificando a variável DISPLAY
corretamente? Talvez esse seja o problema, mas não consigo encontrar documentos abrangentes sobre como essa variável funciona ou como são traduzidas as portas TCP para exibir números.