web-dev-qa-db-fra.com

Comment se connecter à une session X existante sans déverrouiller l'affichage physique?

Je laisse généralement de nombreux programmes en cours d'exécution sur mon poste de travail et j'ai parfois besoin de l'utiliser à distance. Je dois donc me connecter à une session X existante tout en maintenant l'affichage physique (moniteur du poste de travail) verrouillé en permanence.

J'ai essayé vino (vino-server & vinagre en tant que client), mais ils ouvrent une nouvelle session X vide, ce qui ne me permet pas d'accéder aux applications en cours d'exécution.

J'ai aussi essayé x11vnc mais il semble déverrouiller l'écran physique et le laisser déverrouillé (!) Lorsque le client a terminé, nous avons donc un problème de sécurité ...

Ubuntu 12.04 est en cours d’exécution, avec une interface graphique par défaut, de sorte qu'aucune solution spécifique à GNOME ne fonctionnera (applets, etc.).

La solution idéale devrait me donner accès à tous les programmes exécutés sur les deux moniteurs et sur plusieurs "bureaux virtuels". Ce qui peut nécessiter la capture de clés spéciales telles que Crtl + [nombre] et Alt-TAB.

Sinon ... s'il est possible de transférer une fenêtre existante (programme déjà en cours d'exécution) via ssh -X, la solution de contournement sera efficace.

EDIT: x1vnc, pas "x11server" bien sûr ...

16
sfp

Pour autant que je sache, il n'est pas possible de transférer des fenêtres existantes via SSH.

Je suggérerais d'aller pour x11vnc. Vous devrez peut-être d'abord l'installer. Cette commande doit activer un serveur VNC à mot de passe unique ne partageant que votre bureau en cours d'exécution (premier arrivé, premier servi):

x11vnc -noxdamage -display :0 -safer -nopw -once -xrandr

Vous devrez peut-être ajuster l'affichage. Vous pouvez également l’obtenir par programmation en utilisant l’interface dbus de ConsoleKit, mais c’est trop compliqué et :0 convient la plupart du temps. Si cela ne fonctionne pas, utilisez simplement :1 et ainsi de suite.

Cela est pratique car vous pouvez le lancer depuis une session SSH d’ailleurs, quand vous en avez besoin.

Vous devriez jeter un œil à x2go et vous connecter simplement à "Connexion au bureau local" au lieu de spécifier un gestionnaire de fenêtres ou un environnement de bureau.

Il utilise SSH, donc une fois que vous avez installé et démarré le serveur sur votre poste de travail, vous devriez pouvoir vous y connecter avec le x2goclient si vous pouvez déjà utiliser SSH dessus.

2
Vreality

Vous devriez jeter un oeil sur le X11RDP .

C’est vraiment une excellente mise à jour du Xrdp. En outre, vous pouvez personnaliser le comportement selon vos besoins. J'avais les mêmes problèmes que les vôtres avant et j'installe x11rdp et modifie le fichier xrdp.conf pour permettre la connexion à la session précédente ... Quoi qu'il en soit, vérifiez le site et essayez la version 7. Le gars là-bas "Kevin Cave" est un génie et maintenant, il fait une mise à jour pour que vous puissiez installer x11rdp en tant que paquets Debian.

1
Maythux