Você precisa definir a variável de ambiente DISPLAY
. Veja env |grep DISPLAY
.
Então basicamente você poderia usar algo como export DISPLAY=:0; firefox http://google.de
.
Eu preciso abrir o navegador com url específica usando ssh através de uma máquina remota, eu tenho habilitado senha menos conexão, eu sou capaz de obter o comando o / p que rodam na máquina remota usando ssh, mas como posso abrir o navegador usando ssh ? Tentei com "-X" opção que irá abrir o navegador da máquina remota na minha máquina (considerando que eu corro o ssh da minha máquina).
Tentou
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.com
este comando mostra erro dizendo Error: no display specified
.
Basicamente, minha exigência é, através da minha máquina, eu deveria iniciar o navegador com url específico na máquina remota (que é suse linux).
Qualquer ponteiros são muito úteis.
Obrigado.
Você precisa definir a variável de ambiente DISPLAY
. Veja env |grep DISPLAY
.
Então basicamente você poderia usar algo como export DISPLAY=:0; firefox http://google.de
.
Obrigado a todos pela resposta. Eu tenho esse trabalho com a ajuda de 2 scripts
No lado do servidor (ou na minha máquina) eu tenho um script que se parece com isso
#!/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 se parece com isso
#!/usr/bin/sh
#read "como backquote
browserPID="ps aux | grep firefox | grep -vc grep";
if [[ "$browserPID" > 0 ]];
then
killall -9 firefox
fi
nohup firefox --display=:0 $1 &
Também ponto para garantir que, eu criei senha menos conexão usando ssh-keygen.
No servidor eu chamo o script (primeiro) como sh launchBrowser_client1.sh http://google.com
isso iria abrir google.com no cliente.
Suas dicas sobre como resolver isso apreciado.
Obrigado.
Você precisa de um monitor para executá-lo. Você especifica essa exibição usando a variável de ambiente DISPLAY
.
Se você não quiser enviar todos os dados por SSH, precisará usar um servidor X11 na máquina à qual está se conectando. Isso pode ser um servidor sem cabeçalho, como o xvfb.