Exibindo X programas em sistemas remotos

1

Eu tenho o Ubuntu 14.04 e o Fedora 20 como um ambiente de teste. Eu estou tentando enviar programas X do Fedora para o Ubuntu através de uma sessão SSH. Minha configuração é a seguinte:

No Ubuntu, correu:

Xhost +IP Address of Fedora

Isso retorna:

10.10.24.153 being added to access control list

A partir do sistema Fedora, executo:

DISPLAY=10.10.25.168:0.0

Este passo redireciona o Monitor do Fedora para o sistema Ubuntu.

Então eu ssh para o Fedora do Ubuntu. Neste ponto, quando tento iniciar um programa, como o gedit do prompt do ssh, recebo o seguinte: (e nenhuma janela do gedit aparece)

Unable to init server: Could not connect: Connection refused (gedit:7358): Gtk-WARNING **: cannot open display:

No entanto, quando eu inicio o gedit diretamente do Fedora, ele aparece no meu sistema Ubuntu, apesar de erros no lado do Fedora:

** (gedit:7372): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-77RFAr0MHI: Connection refused

Eu deveria ser capaz de iniciar o programa baseado em X a partir da sessão ssh e aparecer na tela. Alguém sabe o que estou fazendo errado?

    
por user53029 01.09.2015 / 23:19

1 resposta

2

Se você deseja executar os aplicativos X em sua sessão ssh , basta informar ssh para transportar o tráfego. Não execute xhost e não substitua DISPLAY .

ssh -Yf remote-host some-x-application

O sinalizador -Y informa ssh para criar uma variável de ambiente DISPLAY no remote-host e transporta o tráfego resultante pela conexão criptografada. O -f sinalizador diz a ssh para fazer tudo isso em segundo plano, para que pareça que a sessão foi encerrada imediatamente.

Se você preferir que um shell interativo esteja sendo executado visualmente no final da conexão ssh , você também pode fazer esse tipo de coisa:

ssh -Y remote-host
...log in as necessary...

some-x-application &
another-x-application &
...etc...

wait; exit
    
por 01.09.2015 / 23:34