Xpra (wie hier erwähnt) ) macht was ich will. Damit können beliebige X-Anwendungen ausgeführt werden, die an mehrere Clients weitergeleitet werden können, entweder auf demselben Computer oder auf einem anderen Computer. Es unterstützt auch die Ausführung von OpenGL-Apps und ermöglicht, dass Ihre Apps auch nach dem Verbindungsabbruch des letzten Clients weiterlaufen können. Dadurch haben Sie die Möglichkeit, die Verbindung später wieder herzustellen.
xpra
Es gibt zwei Teile: einen Client und einen Server. Führen Sie auf dem Remote-Computer Folgendes aus, um den Server zu starten:
$ xpra start :100
Dies startet xpra
auf einer neuen X-Anzeige. (Es gibt eine Problemumgehung für einen Proxy.)
Um eine Anwendung von steuern zu lassen xpra
, führen Sie sie auf derselben Anzeige wie der xpra
Server aus.
$ export DISPLAY=:100 $ firefox& $ blender& ...
Dies alles kann über eine SSH-Verbindung (mit oder ohne X11-Forwarding) problemlos durchgeführt werden.
Führen Sie einen der folgenden Schritte aus, um einen Client zu starten:
$ ssh -X user@remotehost <gain remote connection> $ xpra attach :100
oder
$ xpra attach ssh:user@remotehost:100
Beachten Sie, dass für letzteres der xpra
Client auf Ihrem lokalen Computer installiert sein muss. Ersteres nicht.
Der xpra
Client fügt ein Symbol in die Taskleiste / den Bereich Ihres Fenstermanagers ein, über den Sie die Verbindung trennen können. (Oder Sie können es einfach töten, solange Sie darauf achten, den Server nicht zu töten.) Sie können es später erneut anbringen, solange der xpra
Server noch läuft. Wenn xpra
auf dem Host ein einzelner Server ausgeführt wird, können Sie auch die angezeigte Nummer einfach weglassen xpra attach
.
Eine sehr nette Eigenschaft von xpra
ist, dass Sie einen Server auf einer bereits vorhandenen Anzeige starten können. Auf diese Weise können Sie eine Sitzung wiederherstellen, wenn der xpra
Server abstürzt (solange der X-Server auf dieser Anzeige noch läuft). Um dies zu tun, renne
$ xpra start --use-display :100
Vorsichtsmaßnahmen:
xpra
läuft als Fenstermanager. Obwohl es ziemlich gut mit dem Einbetten in anderen Window-Managern spielt, spielt es mit den X-Apps selbst nicht so gut: Es erlaubt nicht, zBrxvt-unicode
die Titelleiste zu entfernen; Außerdem sagt es den Fenstern nicht aus, wie viel Platz sie auf dem Bildschirm haben müssen, z. B. fallen Dropdown-Felder und Menüs vom Bildschirm. Ich denke, das letztere Problem ist jedoch eine Frage der Fixierung meiner Konfiguration.Schlüssel werden wiederholt. Häufig. Dies kann durch Verwendung gelöst werden
xpra attach --no-keyboard-sync
. Die Manpage warnt jedoch, dass dies bei bestimmten Spielen nicht gut funktioniert. Ich drücke die Daumen, dass ich mich nicht sehne, eines dieser Spiele zu benutzen.
Aus diesen Gründen Xephyr
kann es eine bessere Lösung sein (sobald GLX unterstützt wird), da es als X-Server und nicht als Fenstermanager ausgeführt wird. Ich habe jedoch nicht untersucht, ob es die Wiederaufnahme zuvor getrennter Sitzungen unterstützt.