Quando eu SSH para uma caixa remota
$ ssh -X remotebox
então inicie o firefox na caixa remota
remotebox$ firefox
e eu tenho o firefox em execução na minha máquina local, uma janela local do firefox será aberta. nenhum processo do firefox está sendo executado na caixa remota.
Se o firefox não estiver em execução na minha máquina local, uma janela remota do firefox será aberta.
Por que está abrindo uma janela local do Firefox? Como posso evitar isso?
Aqui estão mais algumas informações do meu sistema local.
Linux lesmana-laptop 2.6.32-24-generic #42-Ubuntu SMP Fri Aug 20 14:24:04 UTC 2010 i686 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.1 LTS
Release: 10.04
Codename: lucid
DISPLAY=:0.0
Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org
Informações da remotebox.
Linux dxray 2.6.22.19-0.4-default #1 SMP 2009-08-14 02:09:16 +0200 x86_64 x86_64 x86_64 GNU/Linux
LSB Version: core-2.0-noarch:core-3.0-noarch:core-2.0-x86_64:core-3.0-x86_64:desktop-3.1-amd64:desktop-3.1-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.1-amd64:graphics-3.1-noarch
Distributor ID: SUSE LINUX
Description: openSUSE 10.3 (X86-64)
Release: 10.3
Codename: n/a
DISPLAY=localhost:15.0
Mozilla Firefox 3.0.14, Copyright (c) 1998 - 2009 mozilla.org
O comando a seguir inicia uma sessão remota do firefox com uma janela remota do firefox.
remotebox$ firefox -no-remote
O comando a seguir produz um breve atraso, depois retorna ao prompt e uma janela local do Firefox aparece. Nenhum processo do firefox em execução no controle remoto.
remotebox$ firefox
Informações de remotebox2.
Linux marvin 2.6.31-22-generic #60-Ubuntu SMP Thu May 27 00:22:23 UTC 2010 i686 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 9.10
Release: 9.10
Codename: karmic
DISPLAY=localhost:11.0
Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org
O comando a seguir no remotebox2 inicia uma sessão remota do firefox conforme o esperado.
remotebox2$ firefox
Não sei por que o firefox no remotebox2 inicia uma sessão remota em vez de uma sessão local.
$DISPLAY
variável na máquina local e na remota?$DISPLAY
não parece ser um problema, o ssh parece estar configurando as coisas corretamente.Respostas:
além de
firefox -no-remote
outro parâmetro é ofirefox -no-xshm
que revela a técnica usada para fazê-lo funcionar.A memória compartilhada X11 é uma técnica de comunicação entre processos que pode ser usada por todos os aplicativos conectados a uma determinada sessão do servidor x. Pode ser usado para executar arrastar e soltar e outros tipos de interação na área de trabalho.
Também pode ser (e é) usado para implementar aplicativos "abertos uma vez", a fim de reduzir a área ocupada (ou o número de janelas).
Como o protocolo X11 é transparente à rede, a "memória compartilhada" também é estendida aos clientes X11 remotos.
fonte
Experimentar
firefox -no-remote
fonte
sshd_config
você pode ter uma situação em que está sendo executado e encapsulado de volta.Observe que eu fiz escavações em cúpula, pois isso estava me incomodando e você também pode adicionar:
ao seu perfil.
fonte
Você pode tentar isso, quando se conectou à máquina (
ssh user@host
; nota: sem a opção -X), primeiro digite o comando followisso alteraria a exibição padrão para a da tela atual da área de trabalho. E então apenas digite
ter o firefox gerado na janela da área de trabalho. Verifique se você efetuou login na área de trabalho, sem o qual (sem logins) você receberá o seguinte erro;
Esse método também funcionaria para áreas de trabalho bloqueadas. Verifique se você efetuou login na área de trabalho e no shell ssh com o mesmo nome de usuário.
Quando há várias sessões de desktop, cada sessão é identificado por um número diferente, como
:0
,:1
,:2
, etc.fonte
Nenhuma das outras soluções funcionou para mim; portanto, isso foi depois de um pouco de pesquisa em outros sites.
Você precisa executar o firefox em um processo separado da mesma maneira que faria se estivesse fazendo tudo na máquina local. Use o gerenciador de perfis para criar um novo perfil da seguinte maneira.
Para manter as coisas consistentes, decidi nomear cada novo perfil na máquina externa da mesma forma que o nome do host.
fonte
Navegação remota simples
Se você deseja navegar na Web localmente, como se estivesse sentado na frente de uma caixa remota:
Em seguida, execute o Firefox dentro da sessão do terminal remoto :
Observe o uso do
-X
sinalizador nossh
comando. Você também pode executar as duas etapas de uma só vez, como mostrado abaixo:Encapsulando um IP Remoto: Porta
Se você tiver um aplicativo executando remotamente que exponha algum tipo de front-end da web, estará interessado em expor a porta IP: remota como se fosse uma porta IP: local. Nesse caso, a
-L
opção define uma correspondência entrelocalhost:localport
eremotehost:remoteport
, como mostrado no pseudo comando abaixo:Por exemplo:
Em seguida, execute o Firefox localmente :
No exemplo acima, você está se conectando via SSH
[email protected]
e está interessado em uma interface da Web exposta eminternal.example.com:8080
. Esta porta IP: remota será exposta localmente em127.0.0.1:18080
.fonte
Vou apenas adicionar o que funcionou para mim. Simplesmente usando
firefox -no-remote
falhou com o erro usualNo entanto, o seguinte funcionou:
A
-Y
opção habilita o encaminhamento confiável do X11. Os encaminhamentos confiáveis do X11 não estão sujeitos aos controles de extensão do X11 SECURITY. Você pode considerar adicionar uma-C
opção aossh
comando para ativar a compactação também.fonte