Wie kann ich zwei X-Sitzungen gleichzeitig ausführen?

24

Ich möchte zwei X-Server-Instanzen gleichzeitig ausführen.

Eine wäre eine interaktive Sitzung mit der Maus und der Tastatur, die an den Computer angeschlossen sind. Die andere wäre eine "virtuelle" Sitzung, die ich dann über ein Netzwerk verbinden und nutzen könnte.

Mit anderen Worten, ich möchte etwas wie telnet / ssh, mit dem ich mich von einem anderen Ort aus bei meinem Ubuntu-Rechner anmelden kann. Ich möchte jedoch mindestens eine grundlegende Grafikanzeige, wenn ich mich anmelde.

Nathan Osman
quelle
1
Angenommen, Sie möchten zwei Benutzer gleichzeitig auf Ihrem Computer ausführen?
Richzilla
@rich: Ja, aber beide sollten eine grafische Anzeige haben.
Nathan Osman

Antworten:

7

Wenn Sie eine X-Sitzung unter Ubuntu auf Computer A ausführen, wird diese auf dem Bildschirm angezeigt: 0 ( Ctrl+ Alt+ F7) auf A.

Sie möchten eine Remote-X-Sitzung auf Computer B (in Ihrem LAN) ausführen, ohne die aktuelle Sitzung auf A zu unterbrechen.

Wechseln Sie zum ersten Konsolenbildschirm ( Ctrl+ Alt+ F1), und fordern Sie Maschine B auf, eine X-Sitzung an den Bildschirm zu senden: auf A - wie folgt

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

Xfragt nach einer X-Sitzung, :1sagt, um es auf Bildschirm 1 zu setzen, -queryfragt nach der Sitzung von in diesem Fall IP-Adresse von B

Sie finden die neue Sitzung auf dem Bildschirm: 1 ( Ctrl+ Alt+ F8).

Dies ist nicht sicher (kein SSH), aber für ein Heimnetzwerk schnell und einfach, wenn über die Verbindung kein Ton benötigt wird.

Sie können den nxclient / server von nomachine verwenden, der in Ordnung ist, aber in Ihrer aktuellen Sitzung auf dem Bildschirm A: 0 in einem eigenen Fenster ausgeführt wird. Es bietet Unterstützung für lokalen Sound und lokales Drucken - als ich das letzte Mal nachgesehen habe, konnte Firefox nicht gestartet werden, wenn der Sound aktiviert war.

Zanna
quelle
Das hilft auf jeden Fall.
Nathan Osman
5

ssh -X

Die erste und einfachste Option wäre sicherlich "ssh -X", aber dies funktioniert nur, wenn auf dem System, von dem aus Sie eine Verbindung herstellen, bereits ein X-Server ausgeführt wird. Angenommen, Sie führen einen Ubuntu-Computer aus und möchten eine Verbindung zu einem anderen Ubuntu-Computer herstellen, geben Sie "ssh -X ipaddress" in die Konsole ein. Auf diese Weise erhalten Sie eine Konsole. Wenn Sie jedoch eine Anwendung starten, die X von dieser Konsole aus verwendet, wird diese in Ihrer aktuellen X-Sitzung angezeigt.

XMing

Wenn Sie Windows ausführen und eine X-Sitzung auf einem fernen Ubuntu-Computer starten möchten, können Sie XMing verwenden. XMing ist im Grunde ein X-Server, der unter Windows ausgeführt wird. Es ist auf SourceForge verfügbar .

Um XMing verwenden zu können, muss XDMCP auf Ihrem Ubuntu-Computer aktiviert sein. Dies war in Ubuntu vor dem 10.04. Problemlos möglich. Heutzutage müssen Sie /etc/gdm/custom.conf wie folgt aktualisieren. Stellen Sie sicher, dass Sie zuerst ein Backup erstellen! Du willst GDM damit nicht durcheinander bringen;)

[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
quelle
+1 Vielen Dank, dass Sie uns ausführlich erklärt haben, wie das geht. Werden andere Linux-Distributionen unter X in der Lage sein, den 'ssh -X'-Trick auszuführen? Kann ich zum Beispiel mit einer Fedora-Box eine Verbindung zu meinem Ubuntu-Rechner herstellen und auf diese Weise Anwendungen über X ausführen? (Ich suche hier nach der richtigen Terminologie, scheitere aber :))
Nathan Osman
Ich habe es gerade ausprobiert und es funktioniert großartig.
Nathan Osman
@ George: Denken Sie daran, X ist ein wenig rückwärts. Der Benutzer führt den Server lokal aus, mit dem sich die einzelnen Anwendungen (die Clients) verbinden.
1
@George: Solange auf Ihrer Fedora-Box ein X-Server läuft, können Sie ssh -X verwenden. Grundsätzlich nutzt ssh den X-Server auf Ihrer Fedora-Box, um Ihnen die Ubuntu-Anwendungen zu zeigen.
W. Goeman
3

Keine richtige Antwort auf Ihre Frage, aber ...

Sie können X-Programme über ssh ausführen. Ich verwende dies häufig, um mir Zugriff auf geschützte / eingeschränkte Dienste in meinem LAN zu gewähren, wenn ich nicht da bin. Grundsätzlich wird eine Pipe von Ihrem Computer an einen SSH-Server angeschlossen und die Anzeige vom Server an den Client weitergeleitet, die Anwendung wird jedoch auf dem Server ausgeführt. Standardmäßig ist der SSH-Client nicht dafür eingerichtet, er kann jedoch mithilfe der -XOption aktiviert werden . Ex:

ssh -X user@host firefox

Tatsächlich funktioniert LTSP heutzutage so. Möglicherweise finden Sie weitere Informationen zur Funktionsweise von LTSP, wenn Sie statt nur einer einzigen App eine ganze Sitzung aus der Ferne verwenden.

LassePoulsen
quelle
3

Ich habe tatsächlich einen anderen Weg gefunden, um dies zu erreichen: mit xrdp Installieren Sie xrdp .

xrdpist ein Remotedesktop- Server für Linux, der eine separate Anmeldesitzung (mit X) erstellt, auf die mit dem Remotedesktop-Tool von Windows oder mit anderen RDP-kompatiblen Anwendungen zugegriffen werden kann.

Nathan Osman
quelle
1

FreeNX erfüllt auch Ihren Zweck.

Aus Ubuntu Wiki:

FreeNX ist ein System, mit dem Sie von einem anderen Computer über das Internet auf Ihren Desktop zugreifen können. Mit dieser Option können Sie sich grafisch von einem entfernten Standort auf Ihrem Desktop anmelden. Ein Beispiel für die Verwendung ist die Einrichtung eines FreeNX-Servers auf Ihrem Heimcomputer und die grafische Anmeldung am Heimcomputer von Ihrem Arbeitscomputer mit einem FreeNX-Client. Computer mit einem FreeNX-Client.

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

LFC_fan
quelle
1

Klingt so, als ob Sie nach einem VNC-Serverpaket suchen. Es gibt zwei Arten von VNC-Serverpaketen: diejenigen, die Ihre vorhandene X-Anzeige gemeinsam nutzen, und diejenigen, die einen separaten X-Desktop für die Remoteverwendung verwalten. Letzteres ist die Art, die Sie zu wollen scheinen. Beispiele sind vnc4server und tightvncserver / tigervncserver.

Mit diesen Paketen können Sie zusätzliche X-Anzeigen im Hintergrund starten. Um sie anzuzeigen, verwenden Sie einen VNC-Viewer / -Client. Es gibt mehrere Clients für Ubuntu und Windows , ganz zu schweigen von Android, PalmOS usw.

aap
quelle