Abrindo o navegador na máquina remota através do ssh [FECHADO]

2

Preciso abrir o navegador com URL específico usando ssh através de uma máquina remota, habilitei a conexão com menos senha, sou capaz de obter o comando p / que é executado na máquina remota usando ssh, mas como posso abrir o navegador usando ssh? Tentei com a opção "-X", que abrirá o navegador da máquina remota na minha máquina (considerando que eu executo o ssh da minha máquina).

Tentei
1). ssh client@IP_ADDRESS -X "firefox http://google.com - isso abre o navegador na minha máquina.
2) ssh client@IP_ADDRESS "firefox http://google.comeste comando mostra erro ao dizer Error: no display specified.

Basicamente, minha exigência é que, através da minha máquina, eu inicie o navegador com uma URL específica na máquina remota (que é o suse linux).

Qualquer ponteiro é muito útil.

Obrigado.

cb24
fonte

Respostas:

2

Você precisa definir a DISPLAYvariável de ambiente. Veja env |grep DISPLAY. Então, basicamente, você poderia usar algo parecido export DISPLAY=:0; firefox http://google.de.

Michael Krupp
fonte
Obrigado pela resposta. Isto é o que eu tentei, ssh client@IP_ADDRESS "/usr/bin/firefox --display=X11 -new-tab=http://google.com.Mas eu tenho erro <br/>Error: cannot open display: X11
Então, meu exemplo funcionou para você? Nesse caso, marque-o como aceito, para que outros usuários possam encontrar facilmente a resposta válida.
1

Obrigado a todos pela resposta. Eu trabalhei com a ajuda de 2 scripts
No lado do servidor (ou na minha máquina), eu tenho um script parecido com este

#!/bin/bash
ssh client@IP_ADDRESS "nohup sh openBrowser.sh $1" &
PID=$$;
echo "PID IS |$PID|\n";
sleep 3 && kill -9 $PID;

No lado do cliente (onde eu preciso abrir o navegador remotamente, eu tenho um script (openBrowser.sh) que parece like this

#!/usr/bin/sh
#read "as backquote
browserPID="ps aux | grep firefox | grep -vc grep";
if [[ "$browserPID" > 0 ]];
then
    killall -9 firefox
fi
nohup firefox --display=:0 $1 &

Também aponte para garantir que eu criei uma senha com menos conexão usando ssh-keygen.
No servidor, chamo o script (primeiro), pois
sh launchBrowser_client1.sh http://google.com
isso abriria o google.com no cliente.

Seus indicadores sobre como resolver isso apreciada.

Graças.

cb24
fonte
0

Você precisa de um monitor para executá-lo. Você especifica essa exibição usando a DISPLAYvariável de ambiente.

Se você não deseja transferir todos os dados pelo SSH, precisará usar um servidor X11 na máquina à qual está se conectando. Pode ser um servidor sem cabeça, como o xvfb.

Quentin
fonte
pls veja minha resposta acima. @ keks - não, deu-me um erro ao dizer incapaz de abrir a tela.
X11 é o protocolo usado para conversar com o servidor, não o identificador para o servidor.
Quentin
Obrigado pela resposta. Abaixo o comando parece estar parcialmente funcionando, eu escrevi um pequeno script em uma máquina remota #!/usr/bin/sh no="ps aux | grep firefox | grep -vc grep"; if [[ "$no" > 0 ]]; then killall -9 firefox fi firefox --display=:0 $1 & , como eu, e ssh client@IP_ADDRESS "nohup sh openBrowser.sh google.com"inicio esse comando através da minha máquina , isso parece estar funcionando parcialmente, mas está ficando preso na minha máquina, preciso passar Cntrl + C para sair. Existe alguma maneira de sair sem passar Cntrl + C.