66 votes

Comment lancer une fenêtre firefox à distance via SSH ?

Lorsque je me connecte en SSH à un boîtier distant

$ ssh -X remotebox

puis lancez firefox sur le boîtier distant

remotebox$ firefox

j'ai firefox qui tourne sur ma machine locale, une fenêtre firefox locale s'ouvre. aucun processus firefox ne tourne sur la machine distante.

Si firefox ne fonctionne pas sur ma machine locale, une fenêtre firefox distante s'ouvrira.

Pourquoi ouvre-t-il une fenêtre locale de firefox ? Comment puis-je empêcher cela ?


Voici quelques informations supplémentaires sur mon système 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

Informations sur la 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

La commande suivante démarre une session firefox distante avec une fenêtre firefox distante.

remotebox$ firefox -no-remote

La commande suivante produit un bref délai, puis revient à l'invite et une fenêtre firefox locale s'ouvre. Aucun processus firefox ne fonctionne sur la remotebox.

remotebox$ firefox

Informations sur la 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

La commande suivante sur remotebox2 démarre une session firefox à distance comme prévu.

remotebox2$ firefox

Je ne sais pas pourquoi firefox sur la remotebox2 démarre une session distante au lieu d'une session locale.

54voto

Ryan Shripat Points 2330

En plus de firefox -no-remote un autre paramètre est firefox -no-xshm qui révèle la technique utilisée pour le faire fonctionner.

La mémoire partagée X11 est une technique de communication interprocessus qui peut être utilisée par toutes les applications connectées à une session de serveur x donnée. Elle peut être utilisée pour effectuer des glisser-déposer et d'autres types d'interaction avec le bureau.

Il peut être (et est) également utilisé pour mettre en œuvre des applications "ouvertes une fois", afin de réduire l'empreinte (ou le nombre de Windows).

Comme le protocole X11 est transparent pour le réseau, la "mémoire partagée" est également étendue aux clients X11 distants.

19voto

Mac Points 1061

Essayez firefox -no-remote

12voto

Schnapple Points 6117

Remarque : j'ai creusé le dôme car cela me gênait et vous pouvez aussi simplement l'ajouter :

MOZ_NO_REMOTE=1
export MOZ_NO_REMOTE

à votre profil.

4voto

josip b Points 41

Vous pouvez essayer ceci, lorsque vous êtes connecté à la machine ( ssh user@host ; note : sans l'option -X), tapez d'abord la commande suivante

export DISPLAY=:0 

ceci changerait l'affichage par défaut en celui de l'écran actuel du bureau. Ensuite, il suffit de taper

firefox

pour que firefox soit lancé sur la fenêtre du bureau. Assurez-vous que vous vous êtes connecté au bureau, sans quoi (aucune connexion) vous obtiendrez l'erreur suivante ;

firefox: cannot connect to X server :0

Cette méthode fonctionnerait également pour les ordinateurs de bureau verrouillés. Veuillez vous assurer que vous vous êtes connecté sur l'ordinateur de bureau et que le ssh Shell avec l'icône même le nom d'utilisateur.

Lorsqu'il y a plusieurs sessions de bureau, chaque session est identifiée par un numéro différent comme :0 , :1 , :2 etc.

3voto

Richard Gomes Points 141

Navigation à distance simple

Si vous souhaitez naviguer sur le web en local comme si vous étiez assis devant un boîtier distant :

$ ssh -X username@remote.example.com

puis lancez Firefox à l'intérieur de la session du terminal distant :

$ firefox https://test-ipv6.com/

Remarquez l'utilisation de -X dans le ssh commande. Vous pouvez également effectuer les deux étapes en une seule fois, comme indiqué ci-dessous :

$ ssh -X username@remote.example.com firefox http://test-ipv6.com/

Mise en tunnel d'une IP distante : port

Si vous avez une application fonctionnant à distance qui expose une sorte de front-end web, vous serez intéressé par l'exposition de l'IP:port distant comme s'il s'agissait d'un IP:port local. Dans ce cas, le -L définit une correspondance entre localhost:localport y remotehost:remoteport comme le montre la pseudo commande ci-dessous :

ssh -L localhost:localport:remotehost:remoteport remoteuser@remotehost

Par exemple :

$ ssh -L 127.0.0.1:18080:internal.example.com:8080 username@router.example.com

puis lancez Firefox localement :

$ firefox http://127.0.0.1:18080

Dans l'exemple ci-dessus, vous vous connectez via SSH à l'adresse suivante username@router.example.com et vous êtes intéressé par un front-end web exposé à l'adresse suivante internal.example.com:8080 . Cette IP:port distante sera exposée localement à 127.0.0.1:18080 .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X