Iniciar o firefox em um host remoto (sobre ssh) abre uma nova janela localmente: o que está acontecendo?

22

Eu nunca notei esse comportamento antes e estou um pouco confuso sobre o que está acontecendo. Eu tenho uma cópia local do firefox em execução, depois ssh ( ssh -X <url>) em um servidor remoto e inicio uma cópia lá para usar a exibição local. Acontece que o Firefox local acabou de abrir uma nova janela. Eu verifiquei ps x|grep firefoxque, de fato, nenhum processo do firefox é iniciado no servidor remoto.

Esse mesmo comportamento estranho acontece ao contrário: se eu tiver um firefox remoto em execução e tentar iniciar um local, o remoto abrirá uma nova janela.

Estou no ubuntu 10.4, com uma instalação quase completamente nova (acabei de adquirir este computador esta tarde). Eu estava tentando fazer com que os dois firefoxes rodassem ao mesmo tempo, para que eu pudesse executar facilmente a lista de plug-ins a serem instalados.

O que está acontecendo aqui e como posso evitar que isso aconteça?

kasterma
fonte

Respostas:

9

Se eu precisasse adivinhar o que está acontecendo aqui, diria que o firefox primeiro procura uma janela aberta do firefox antes de iniciar e, se isso existe, envia uma mensagem usando X para iniciar uma nova janela do navegador. Como o sistema remoto está usando a tela local, o que quer que seja usado para detecção está captando a janela local. (Isso também explicaria por que a janela remota é encontrada quando você inicia um processo local do firefox.)

Você pode testar isso fechando todas as janelas locais do firefox e, em seguida, tentando iniciar o firefox no servidor remoto - se a detecção estiver ocorrendo como eu penso, não haverá nenhuma janela em execução para que ela se encaixe, portanto iniciará uma instância no sistema remoto como você espera.

No que diz respeito à correção do problema, a sugestão de tante para definir MOZ_NO_REMOTE é a solução adequada.

estático
fonte
O teste certamente sai positivo; Eu nunca soube que havia um tal sistema de mensagens em X.
kasterma
21

Há um problema com o firefox há algum tempo, tente executá-lo como firefox -no-remote(definir MOZ_NO_REMOTE=1como variável de ambiente também deve funcionar).

Aqui está mais informações

tante
fonte
1
Obrigado, isso resolve o problema. Também encontrei algumas informações no mozillazine: kb.mozillazine.org/… Uma coisa que ele não resolve é a minha confusão: estou no computador A, transferi-me para o computador B. No computador BI, inicie um novo firefox para usar o monitor no computador A, como o computador B sabe que não deve iniciar um novo processo? Isso deve fazer parte do protocolo X com o qual não estou familiarizado.
Kasterma 6/10/10
No sshd_conf, você tem uma opção para isso: X11Forwarding yes Isso diz ao ssh para pedir ao X para encaminhar sua saída pelo túnel ssh para o servidor X sempre que você iniciar um aplicativo com GUI.
Patkos Csaba