Como posso executar uma GUI no meu servidor através do SSH? [duplicado]

2

A maioria das pessoas quer poder encaminhar uma janela pelo ssh para a máquina da qual está fazendo login. Eu quero fazer o oposto.

Estou na minha área de trabalho e estou fazendo login via ssh no meu servidor. O servidor é essencialmente um media center e sua tela é minha TV. Eu quero ser capaz de iniciar chromium-browser da minha sessão ssh, mas tê-lo exibido no servidor - não na minha máquina local.

Somente a execução de chromium-browser & não funciona e me fornece o erro Gtk: cannot open display . Preciso definir uma variável de ambiente no servidor para "exportar a exibição para ela mesma"?

    
por n0pe 18.08.2014 / 22:24

4 respostas

2

Sim, um programa X usa a variável de ambiente DISPLAY para descobrir para onde deve enviar a exibição. Ao usar o SSH, seu ambiente DISPLAY pode ser configurado automaticamente para encaminhar o DISPLAY de volta pela conexão ssh para a máquina cliente (você pode verificar com echo $DISPLAY ). Se você não estiver executando um servidor X em sua máquina local, seu programa remoto reclamará que não é possível abrir a tela.

Você deve ser capaz de iniciar explicitamente seu navegador no monitor conectado localmente usando:

env DISPLAY=:0 chromium-browser &

:0 é a abreviação de "o número de exibição localmente conectado 0".

    
por 18.08.2014 / 22:30
0

Você precisa de um servidor X em execução em sua máquina remota e saber a que ele está configurado, ou seja, DISPLAY = localhost: 1

Faça ssh no seu servidor, exporte a variável de exibição

export DISPLAY=localhost:1

Em seguida, inicie sua GUI.

    
por 18.08.2014 / 22:31
0

O ssh também tem seu próprio recurso de encaminhamento do X. Talvez precise ser configurado no sshd.conf, com a diretiva X11Forwarding On. Nesse caso, você terá uma variável de ambiente DISPLAY predefinida, com os programas denominados DISPLAY X11 que serão encaminhados através da sua cobnection ssh e serão criptografados. Além disso, você poderá obter aplicativos X por trás de um NAT.

    
por 18.08.2014 / 23:13
0

Em qualquer evento, além de definir corretamente a variável DISPLAY, usando a opção ssh -X (ou -Y) ... você tem certeza de que o host tem permissão para exibir o material remoto?

Certifique-se de que os hosts remotos estejam autorizados a enviar informações para seu monitor usando o comando xhost.

    
por 18.08.2014 / 23:31

Tags