Verbindungsprobleme mit modernen X-Clients
Die Diagnose von Problemen, die beim Starten von X-Clients auf einem Host mit modernem Linux-Betriebssystem auftreten, kann kompliziert sein. Die folgenden Tipps können bei der Fehlerbehebung zum erfolgreichen Starten der X-Clients und Beheben von Client-Verbindungsproblemen hilfreich sein.
Der Linux-Client „gnome-terminal“ kann nicht von einem GNOME 3-Desktop oder auf „Mein Desktop“ gestartet werden, wenn eine Verbindung zu einem Remotesystem mit installiertem Wayland-Anzeigeserver hergestellt wird
Überprüfen Sie die folgenden Konfigurationen:
-
Stellen Sie sicher, dass der dem X-Clientbefehl wie folgt das Präfix dbus-run-session vorangestellt ist. (X-Clients in einer GNOME 3-Umgebung erfordern eine eindeutige D-Bus-Sitzung.)
(dbus-run-session -- /usr/bin/gnome-terminal --display=%IP#% --wait)
-
Wenn Sie gnome-terminal (Version 3.27.1 und höher) starten, achten Sie darauf, den Client wie nachfolgend gezeigt mit dem Befehlszeilenargument
--wait
zu starten. Andernfalls trennt gnome-terminal einen Serverprozess und die Netzwerksitzung kann geschlossen werden, bevor der Terminal-/X-Client eine Verbindung zum X-Server herstellt.(dbus-run-session -- /usr/bin/gnome-terminal --display=%IP#% --wait)
-
Wenn der Terminal- oder der X-Client in der Remotehostkonsole statt auf dem Reflection X-Desktop angezeigt wird, fügen Sie dem Clientbefehl wie nachfolgend gezeigt das Präfix
GDK_BACKEND=x11
hinzu:(GDK_BACKEND=x11 dbus-run-session -- /usr/bin/gnome-terminal --display=%IP#% --wait)
Es dauert lange, bis ein X-Client auf dem Reflection X-Desktop angezeigt wird
Deaktivieren Sie die Versuche des Clients, an den Accessibility-Bus (a11y) anzuschließen, indem Sie dem Clientbefehl das Präfix NO_AT_BRIDGE=1
voranstellen.
(NO_AT_BRIDGE=1 dbus-run-session -- /usr/bin/gnome-terminal --display=%IP#% --wait)
Ein X-Client kann nicht gestartet werden, wenn proprietäre Videotreiber wie NVIDIA auf dem Remotehost installiert sind
Legen Sie in der Umgebung __GLX_VENDOR_LIBRARY_NAME=mesa
fest, bevor Sie den Befehl ausführen:
(__GLX_VENDOR_LIBRARY_NAME=mesa glxgears &)