Führen Sie eine GUI in screen oder tmux (oder einer Alternative) aus.

Führen Sie eine GUI in screen oder tmux (oder einer Alternative) aus.

Ich habe eine Anwendung, die nur eine GUI hat und ständig ausgeführt werden muss. Das Problem ist, dass ich keinen vollständigen Desktop nur für diese Anwendung installieren kann (mein Betriebssystem ist Debian und Ubuntu CLI).

Daher habe ich mich gefragt, ob es eine Möglichkeit gibt, diese Anwendung auf dem Server in etwas wie Screen oder Tmux auszuführen. So dass ich X einfach weiterleiten und damit weiterarbeiten kann.

Antwort1

Dabei gibt es zwei Aspekte: Erstens muss der GUI-Prozess einem Prozess gehören, der nicht beendet wird. Dies lässt sich auf verschiedene Arten erreichen, aber wenn Sie derzeit so arbeiten, ist es „gut genug“, wenn tmux den Prozess besitzt.

Die zweite Möglichkeit ist, die GUI-Ausgabe irgendwo zu haben. Wenn Sie möchten, dass die GUI-Ausgabe sowohl auf dem Bildschirm des Servers angezeigt wird, auf dem der Prozess ausgeführt wird, als auch remote darauf zugegriffen werden kann, dannx11vncist eine gute Option und in den meisten Distributionen vorhanden. Alles was Sie brauchen ist eine X11-Sitzung, also keinen vollständigen Desktop, nur genug X, um die GUI anzuzeigen, und x11vnc.

Dadurch wird die X-Sitzung, unter der es ausgeführt wird, als VNC-Sitzung freigegeben, sodass remote darauf zugegriffen werden kann. Idealerweise tun Sie dies über SSH, da VNC nicht viel Sicherheit bietet.

Antwort2

Sehen Sie sich Xpra an, das es ermöglicht, X-Anwendungen remote zu steuern und die Verbindung zu unterbrechen. Es ist sehr ähnlich wie „tmux für X“.

http://xpra.org/

Antwort3

Ein GUI-Programm, das X Windows verwendet, muss mit dem Server (Ihrem Grafikkopf) verbunden sein. Wenn Sie die Verbindung trennen screen( tmuxdie Sitzung aufrechterhalten), kann die Verbindung zum Server trotzdem getrennt sein (z. B. wenn Sie Ihren lokalen Computer herunterfahren/in den Ruhezustand versetzen). Solange die Verbindung zum $DISPLAYServer besteht, wird Ihre App fortgesetzt. Wenn Sie SSH und X-Forwarding verwenden, wird die Verbindung auch beendet, wenn die SSH-Sitzung endet.

Sie können die Anwendung also zwar unbegrenzt von einer Befehlszeilenschnittstelle aus ausführen, dies hängt jedoch davon ab, dass die Verbindung zwischen Server und Client bestehen bleibt.

verwandte Informationen