open terminal via ssh run firefox - exibição não encontrada

3

Eu quero fazer testes de selênio em um escravo de Hudson.
O escravo (ou seja, a máquina) que irá executar o selênio é um Ubuntu 10.04.
Assim tem o Gnome. O selênio precisa de um firefox para ser executado.

O que Hudson faz agora, cria uma conexão ssh com a máquina Ubuntu e lança o selênio lá. O selênio tenta iniciar um firefox.

E agora isso culpa:

Error: cannot open display

O que precisa ser feito para que o 'shell ssh' receba uma exibição do servidor X?

    
por nebenmir 10.06.2011 / 08:46

5 respostas

2

Certifique-se de que a máquina remota tenha o encaminhamento de ssh X11 ativado:

$ grep X11 /etc/ssh/sshd_config 
X11Forwarding yes
X11DisplayOffset 10
$

Use ssh -X user@remote_machine para se conectar à máquina remota. Se na máquina remota você estiver usando um usuário diferente para iniciar o cliente X, use xauth list para obter as credenciais atuais no usuário ssh e, em seguida, use xauth add para adicionar as credenciais ao usuário que você está se tornando com sudo / su.

read -p 'Username: ' u;sudo -H -u $u xauth add $(xauth list|grep :$(echo ${DISPLAY: -4:2}));sudo su - $u
    
por 10.06.2011 / 09:07
1

Se a questão é o que eu acho que é

ssh testuser@ubuntuhost firefox --display :0 -no-remote

Inicia o firefox em ubuntuhost e exibe-o nessa máquina, assumindo que testuser esteja logado em ubuntuhost .

Eu não sei Selenium, ou o que exatamente você está procurando para testar (desempenho, correção de exibição, ou simplesmente um valor de retorno de sucesso de algum javascript), mas você pode até não precisar de um servidor X 'real', ou seja um que realmente aparece no monitor do host Ubuntu. O Xvfb pode ser útil para você aqui, mas isso está além do escopo da pergunta original ...

    
por 10.06.2011 / 10:29
0

Você precisa ativar o encaminhamento do X e executar um servidor X localmente. Passe -X ou -Y para ssh .

    
por 10.06.2011 / 08:50
0

ssh -X root @ myserver ou algo assim

    
por 10.06.2011 / 08:55
0

Você precisa encaminhar o X pelo túnel ssh, tente isto:

ssh -X host_IP

uma vez logado, inicie o firefox em seu terminal, ele deve encaminhar seu X-server para sua máquina local.

    
por 10.06.2011 / 08:56