Starten Sie die GUI-Anwendung auf dem Remote-Host (Linux CentOS 8) über SSH

Starten Sie die GUI-Anwendung auf dem Remote-Host (Linux CentOS 8) über SSH

Ich habe einige Fragen beim Versuch, eine GUI-App remote über SSH auszuführen. Meine Linux-Kenntnisse sind begrenzt und ich habe einige Probleme, dies im folgenden Szenario zu erreichen:

Ich habe einen Host mit CentOS 8 und GNOME-GUI an einen Fernseher angeschlossen, aber keine Maus oder Tastatur (das ist der Remote-Host, ich nenne ihn SERVER). Ich habe auch den lokalen Host mit einem SSH-Client (dem SSH).

Was ich versuche zu tun:

Ich möchte mit SSH den Willkommensbildschirm entsperren, der auf dem an den SERVER angeschlossenen Fernseher angezeigt wird. Anschließend möchte ich Retroarch starten (um es auf dem an den SERVER angeschlossenen Fernseher zu laden). Wie melde ich mich beim SERVER an, um den GNOME-Willkommensbildschirm zu verlassen? Mit dem folgenden Befehl:

loginctl unlock-sessions

funktioniert nur, wenn ich SERVER einschalte, eine Tastatur anschließe, mich anmelde und warte, bis der Bildschirm wegen Inaktivität gesperrt wird. Außerdem habe ich beim Starten von RETROARCH über SSH zwei Möglichkeiten gefunden, die „irgendwie funktionieren“, nämlich DISPLAY=:0 und nohup, aber beide sperren den Prozess auf die SSH-Sitzung (abgesehen davon, dass es das Terminal oder den Prozess auf die SSH-Sitzung sperrt, funktioniert es nur, wenn ich mich bereits beim SERVER angemeldet und den Willkommensbildschirm passiert habe). Gibt es eine Möglichkeit, es so zu starten, als würde ich die App direkt vom SERVER aus ausführen?

Antwort1

um eine Remote-Schnittstelle zu einem Fenstermanager wie Gnome herzustellen, müssen Sie die Ausführung einer VNC-Sitzung in Betracht ziehen, da die Fenstermanager meines Wissens nicht für die Steuerung über SSH + CLI ausgelegt sind.

Wenn Sie Gnome über X11 ausführen, sollten Sie die Verwendung von X11-vnc in Betracht ziehen, wodurch Ihnen die aktuelle X11-Sitzung remote zugänglich gemacht wird. Das heißt, Sie sehen über VNC dasselbe Bild wie auf einem an den SERVER angeschlossenen Fernseher.

Wenn Sie Wayland verwenden, müssen Sie im Internet selbst recherchieren, was ein X11-vnc-Wayland-Ersatz ist.

Für den 1. Fall sind dies die Schritte:

Server:

apt install x11-vnc -y
x11-vnc

Klient :

apt install tigervnc-viewer -y
ssh -L 5901:localhost:5901 <SERVER-IP>
vncviewer localhost:5901

Es empfiehlt sich, das VNC-Protokoll in einen SSH-Tunnel einzubinden, daher lauschen viele VNC-Server standardmäßig nur auf dem lokalen Host. Die Portnummer von VNC kann sich ändern, ist aber so festgelegt, dass sie bei 5900 beginnt.

verwandte Informationen