Quand je SSH à une boîte distante
$ ssh -X remotebox
puis démarrez Firefox sur le boîtier distant
remotebox$ firefox
et j’ai firefox fonctionnant sur ma machine locale, une fenêtre firefox locale s’ouvrira. aucun processus firefox n'est en cours d'exécution sur la boîte à distance.
Si firefox ne fonctionne pas sur ma machine locale, une fenêtre firefox distante s'ouvrira.
Pourquoi ouvre-t-il une fenêtre firefox locale? Comment puis-je empêcher cela?
Voici quelques informations supplémentaires de 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
Information de 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 à distance avec une fenêtre firefox à distance.
remotebox$ firefox -no-remote
La commande suivante produit un bref délai, puis revient à l'invite et une fenêtre firefox locale apparaît. Aucun processus firefox en cours d'exécution sur la remotebox.
remotebox$ firefox
Information 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
La commande suivante sur remotebox2 démarre une session firefox distante comme prévu.
remotebox2$ firefox
Je ne sais pas pourquoi firefox sur remotebox2 démarre une session à distance au lieu d’une session locale.
$DISPLAY
variable à la fois sur la machine locale et sur la machine distante?$DISPLAY
cela ne semble pas être un problème, ssh semble mettre les choses en place correctement.Réponses:
En outre,
firefox -no-remote
un autre paramètre estfirefox -no-xshm
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 x serveur donnée. Il peut être utilisé pour effectuer un glisser-déposer et d'autres types d'interactions sur le bureau.
Il peut être (et est) utilisé également pour implémenter des applications «ouvertes une fois», afin de réduire l'encombrement (ou le nombre de fenêtres).
Le protocole X11 étant transparent au réseau, la "mémoire partagée" est étendue aux clients X11 distants.
la source
Essayer
firefox -no-remote
la source
sshd_config
vous pouvez être dans une situation où il est exécuté et redirigé en tunnel.Notez que j'ai creusé dans le dôme car cela me dérangeait et vous pouvez aussi simplement ajouter:
à votre profil.
la source
Vous pouvez essayer cela lorsque vous vous êtes connecté à la machine (
ssh user@host
remarque: sans l'option -X), tapez d'abord la commande suivantecela changerait l'affichage par défaut à celui de l'écran du bureau actuel. Et puis il suffit de taper
faire apparaître firefox sur la fenêtre du bureau. Assurez-vous que vous êtes connecté au bureau, sans lequel (sans connexions) vous obtiendrez l'erreur suivante;
Cette méthode fonctionnerait également pour les ordinateurs verrouillés. Assurez-vous que vous êtes connecté au bureau et au shell ssh avec le même nom d'utilisateur.
Quand il y a plusieurs sessions de bureau, chaque session est identifiée par un numéro différent comme
:0
,:1
,:2
, etc.la source
Aucune des autres solutions n’a fonctionné pour moi, c’est donc après quelques recherches sur d’autres sites.
Vous devez exécuter firefox dans un processus séparé de la même manière que si vous le faisiez tous sur la machine locale. Utilisez le gestionnaire de profil pour créer un nouveau profil comme suit.
Pour garder les choses cohérentes, j'ai décidé de nommer chaque nouveau profil sur la machine externe de la même manière que le nom d'hôte.
la source
Navigation à distance simple
Si vous souhaitez naviguer sur le Web localement comme si vous étiez assis devant une boîte distante:
puis lancez Firefox dans la session de terminal à distance :
Notez l'utilisation de
-X
flag dans lassh
commande. Vous pouvez également effectuer les deux étapes en une seule fois, comme indiqué ci-dessous:Tunnelling d'une adresse IP distante: port
Si vous avez une application s'exécutant à distance qui expose une sorte de front web, vous serez intéressé par l'exposition du port IP: distant comme s'il s'agissait d'un IP: port local. Dans ce cas, l'
-L
option définit une correspondance entrelocalhost:localport
etremotehost:remoteport
, comme indiqué dans la pseudo-commande ci-dessous:Par exemple:
puis exécutez Firefox localement :
Dans l'exemple ci-dessus, vous vous connectez via SSH à
[email protected]
et vous êtes intéressé par une interface Web exposée à l'adresseinternal.example.com:8080
. Cette adresse IP distante: le port sera exposé localement à127.0.0.1:18080
.la source
Je vais juste ajouter ce qui a fonctionné pour moi. Simplement utiliser a
firefox -no-remote
échoué avec l'erreur habituelleCependant, les éléments suivants ont fonctionné:
L'
-Y
option active le transfert X11 de confiance. Les redirections X11 de confiance ne sont pas soumises aux contrôles d'extension X11 SECURITY. Vous pouvez également envisager d’ajouter une-C
option à lassh
commande pour activer la compression.la source