Le démarrage de Firefox sur un hôte distant (via ssh) ouvre une nouvelle fenêtre localement: que se passe-t-il?

22

Je n'ai jamais remarqué ce comportement auparavant et je suis un peu confus quant à ce qui se passe. J'ai une copie locale de firefox en cours d'exécution, puis ssh ( ssh -X <url>) dans un serveur distant et j'en démarre une copie pour utiliser l'affichage local. Il s'avère que le Firefox local vient d'ouvrir une nouvelle fenêtre. J'ai vérifié ps x|grep firefoxqu'en effet aucun processus firefox n'est démarré sur le serveur distant.

Ce même comportement étrange se produit en sens inverse: si j'ai un firefox distant en cours d'exécution et que j'essaie de démarrer un local, alors le distant ouvre une nouvelle fenêtre.

Je suis sur Ubuntu 10.4, avec une installation presque complètement nouvelle (je viens de recevoir cet ordinateur cet après-midi). J'essayais de faire fonctionner les deux firefox en même temps afin de pouvoir facilement parcourir la liste des plugins à installer.

Que se passe-t-il ici et comment puis-je éviter que cela se produise?

kasterma
la source

Réponses:

9

Si je devais faire une supposition éclairée sur ce qui se passe ici, je dirais que firefox cherche d'abord une fenêtre firefox ouverte avant de se lancer, et si cela existe lui envoie un message en utilisant X pour simplement démarrer une nouvelle fenêtre de navigateur. Étant donné que le système distant utilise votre affichage local, tout ce qu'il utilise pour la détection récupère la fenêtre locale. (Cela expliquerait également pourquoi la fenêtre distante est trouvée lorsque vous démarrez un processus Firefox local.)

Vous pouvez tester cela en fermant toutes les fenêtres locales de Firefox, puis en essayant de démarrer Firefox sur le serveur distant - si la détection se produit comme je pense que c'est le cas, il n'y aura pas de fenêtres en cours d'exécution pour qu'il se verrouille, donc il démarre une instance sur le système distant comme vous vous y attendez.

En ce qui concerne réellement la résolution du problème, la suggestion de tante de définir MOZ_NO_REMOTE est la bonne solution.

p-statique
la source
Le test est certainement positif; Je n'ai jamais su qu'il existait un tel système de messagerie dans X.
kasterma
21

Cela a été un problème avec Firefox depuis un certain temps, essayez d'exécuter Firefox en tant que firefox -no-remote(la définition MOZ_NO_REMOTE=1de variable d'environnement devrait également fonctionner).

Voici plus d'infos

tante
la source
1
Merci, cela résout le problème. J'ai également trouvé des informations dans mozillazine: kb.mozillazine.org/… Une chose que cela ne résout pas est ma confusion: je suis sur l'ordinateur A, je passe à l'ordinateur B. Sur l'ordinateur BI, démarrez un nouveau firefox pour utiliser l'affichage sur l'ordinateur A, comment l'ordinateur B sait-il ne pas démarrer un nouveau processus? Cela doit faire partie du protocole X que je ne connais pas.
kasterma
Dans sshd_conf, vous avez une option pour cela: X11Forwarding yes Cela dit à ssh de demander à X de transmettre sa sortie via le tunnel ssh à votre serveur X chaque fois que vous démarrez une application avec GUI.
Patkos Csaba