Comment exécuter deux sessions X en même temps?

24

Je voudrais exécuter deux instances de serveur X en même temps.

L'une serait une session interactive utilisant la souris et le clavier attachés à l'ordinateur. L'autre serait une session «virtuelle» à laquelle je pourrais alors me connecter et utiliser sur un réseau.

En d'autres termes, je veux quelque chose comme telnet / ssh qui me permet de me connecter à ma machine Ubuntu ailleurs. Cependant, je voudrais au moins un affichage graphique de base lorsque je me connecte.

Nathan Osman
la source
1
Je suppose que vous souhaitez exécuter simultanément deux utilisateurs sur votre ordinateur?
richzilla
@rich: Oui, mais les deux devraient avoir un affichage graphique.
Nathan Osman

Réponses:

7

Si vous exécutez une session X sous Ubuntu sur la machine A, elle apparaîtra à l'écran: 0 ( Ctrl+ Alt+ F7) sur A.

Vous souhaitez exécuter une session X distante à partir de la machine B (sur votre réseau local) sans interrompre votre session actuelle sur A.

Accédez au premier écran de la console ( Ctrl+ Alt+ F1), connectez-vous à la console, puis demandez à la machine B d'envoyer une session X à l'écran: sur A - comme ceci

u@A:~$  X :1 -query IP-of-B

Xdemande une session X, :1dit de la mettre à l'écran 1, -querydemande la session dans ce cas l'adresse IP de B

Vous trouverez la nouvelle session à l'écran: 1 ( Ctrl+ Alt+ F8).

Ce n'est pas sécurisé (pas de ssh) mais c'est rapide et facile pour un réseau domestique lorsque le son n'est pas requis sur la connexion.

Vous pouvez utiliser nxclient / server de nomachine, ce qui est correct mais s'exécute dans votre session actuelle sur un écran: 0 dans sa propre fenêtre. Il fournit un support pour le son local et l'impression locale - la dernière fois que j'ai regardé Firefox ne démarrerait pas si le son était activé.

Zanna
la source
Cela aide certainement.
Nathan Osman
5

ssh -X

La première et la plus simple option serait certainement "ssh -X", mais cela ne fonctionnera que lorsque le système à partir duquel vous vous connectez exécute déjà un serveur X. Supposons donc que vous exécutez une machine Ubuntu et que vous souhaitez vous connecter à une autre machine Ubuntu, vous pouvez taper "ssh -X ipaddress" dans la console. Cela vous laissera une console, mais lorsque vous démarrez une application qui utilise X à partir de cette console, elle sera affichée dans votre session X actuelle.

XMing

Si vous utilisez Windows et que vous souhaitez démarrer une session X sur une machine Ubuntu distante, vous pouvez utiliser XMing. XMing est essentiellement un serveur X à exécuter sur Windows. Il est disponible sur sourceforge .

Pour utiliser XMing, XDMCP doit être activé sur votre machine Ubuntu. Cela se faisait facilement dans Ubuntu avant le 10.04. De nos jours, vous devez mettre à jour /etc/gdm/custom.conf comme suit. Assurez-vous de faire une sauvegarde en premier! Vous ne voulez pas gâcher GDM avec ça;)

[daemon]
User=gdm
Group=gdm


[security]
DisallowTCP=true

[xdmcp]
Enable=true
DisplaysPerHost=2
HonorIndirect=false
MaxPending=4
MaxSessions=16
MaxWait=30
MaxWaitIndirect=30
PingIntervalSeconds=60
Port=177

[greeter]

[chooser]
Multicast=false

[debug]
Enable=false 
W. Goeman
la source
+1 Merci d'avoir expliqué en détail comment procéder - les autres distributions Linux exécutant X pourront-elles faire le tour 'ssh -X'? Par exemple, si j'ai une boîte Fedora, puis-je me connecter à ma machine Ubuntu et exécuter des applications sur X de cette façon? (Je cherche la bonne terminologie ici, mais à défaut :))
Nathan Osman
Je viens de l'essayer et cela fonctionne très bien.
Nathan Osman
@George: N'oubliez pas que X est un peu en arrière. L'utilisateur exécute le serveur localement auquel les applications individuelles (les clients) se connectent.
1
@George: Tant que votre boîte Fedora exécute un serveur X, vous pourrez utiliser ssh -X. Fondamentalement, ssh utilisera le serveur X sur votre boîte Fedora pour vous montrer les applications Ubuntu.
W. Goeman
3

Pas tout à fait une réponse à votre question, mais ...

Vous pouvez exécuter des programmes X sur ssh, je l'utilise souvent pour me donner accès à des services protégés / restreints sur mon LAN lorsque je suis absent. Fondamentalement, il connecte un canal de votre machine à un serveur ssh et transmet l'affichage du serveur au client, mais l'application s'exécute sur le serveur. Par défaut, le client SSH n'est pas configuré pour cela, mais il peut être activé en utilisant l' -Xoption. Ex:

ssh -X user@host firefox

En fait, c'est ainsi que fonctionne LTSP ces jours-ci. Vous pourrez peut-être trouver plus d'informations sur le fonctionnement de LTSP lors de l'utilisation à distance d'une session entière au lieu d'une seule application.

LassePoulsen
la source
3

J'ai en fait découvert une autre façon d'y parvenir: avec xrdp Installer xrdp .

xrdpest un serveur Bureau à distance pour Linux qui crée une session de connexion distincte (avec X) accessible à l'aide de l'outil Bureau à distance de Windows ou avec d'autres applications compatibles RDP.

Nathan Osman
la source
1

FreeNX servira également votre objectif.

Du Ubuntu Wiki:

FreeNX est un système qui vous permet d'accéder à votre bureau depuis une autre machine via Internet. Vous pouvez l'utiliser pour vous connecter graphiquement à votre bureau à partir d'un emplacement distant. Un exemple de son utilisation serait d'avoir un serveur FreeNX installé sur votre ordinateur personnel et de se connecter graphiquement à l'ordinateur domestique à partir de votre ordinateur professionnel, en utilisant un ordinateur client FreeNX, en utilisant un client FreeNX.

https://help.ubuntu.com/community/FreeNX

LFC_fan
la source
1

On dirait que vous cherchez peut-être un package de serveur VNC. Il existe deux types de packages de serveur VNC: ceux qui partagent votre écran X existant et ceux qui gèrent un bureau X séparé pour une utilisation à distance. Ce dernier est le genre que vous semblez vouloir. Les exemples incluent vnc4server et tightvncserver / tigervncserver.

Ces packages vous permettent de démarrer des affichages X supplémentaires en arrière-plan. Pour les voir, vous utilisez un visualiseur / client VNC. Il existe plusieurs clients disponibles pour Ubuntu et Windows , sans oublier Android, PalmOS, etc.

aap
la source