Nas versões anteriores do RHEL (RHEL5/6/7 pelo menos) era possível criar um vncserver (de tigervnc-server) e encaminhar displays X11 de outro servidor exportando a variável de ambiente no servidor remoto para o DISPLAY
vncserver hostname:display
.
Por exemplo, eu tenho workstation1
, server1
e server2
. Eu poderia ssh da estação de trabalho1 para server1
, iniciar um vncserver em:1. Separadamente ssh para server2
e execute export DISPLAY=server1:1
. Em seguida, execute um aplicativo X11 em e server2
, assumindo as configurações adequadas de xhost, firewall e escuta de porta, ele aparecerá no vncserver no server1.
Percebi no RHEL8 e RHEL9 que esse não é mais o caso. No RHEL7, ao iniciar um vncserver, um ouvinte aparece em duas portas separadas. Um em 5900 + número de exibição e um em 6000 + número de exibição. No RHEL8 e RHEL9 o listener só aparece no display 5900+.
Com base na strace
saída de uma tentativa de encaminhar xeyes
para um vnc, parece que a conexão com o monitor 6000 + ainda está tentando ser feita. Na tentativa de "enganar" o sistema, executei um vncserver no display 101, que criou o listener na porta 6001 no server1
. Em seguida, correu export DISPLAY=:1
e server2
tentou executar xeyes. Ele tentou se conectar à porta 6001
, mas ainda foi negado.
Error: Can't open display: server1:1
Existe alguma maneira de habilitar o ouvinte X11 ao executar o vncserver no RHEL8 ou RHEL9? Estou ciente de que usar o encaminhamento SSH ainda funciona, mas gostaria de poder exportar a exibição e usar o encaminhamento nativo X11 pela rede.
Além disso, caso seja relevante. Estou usando o plasma 5 como meu DE.
Resposta curta: Adicionar
listen=tcp
a um arquivo de configuração (por exemplo, /etc/tigervnc/vncserver-config-defaults)Eu fiz algumas pesquisas no repositório git tigervnc e encontrei isso . Especificamente isso:
Eu adicionei
listen=tcp
e/etc/tigervnc/vncserver-config-defaults
reiniciei meu vncserver. Eu verifiquei se ele estava ouvindo na porta de exibição 6000+ e estava. Tentei encaminhar o display do X11 novamente e deu tudo certo.