
Ich habe Zugriff auf einen Cluster und wollte das einfachste Beispiel verwenden, um mich per SSH mit X11-Weiterleitung anzumelden und zu sehen, ob es funktioniert. Derzeit melde ich mich einfach beim Cluster an:
$ ssh -Y user@cluster
und das einzige Programm im Cluster, das ich kenne und das über eine Art Anzeige (wie eine GUI) verfügt, ist matlab
, also führe ich es einfach aus:
$ matlab
in der Vergangenheit hat das funktioniert, aber ich wollte den einfachsten Befehl kennen, um etwas auf meinem Bildschirm anzuzeigen und zu sehen, ob es funktioniert oder nicht. Derzeit wird beim Ausführen matlab
die Befehlsschnittstelle geöffnet, aber es wird kein Fehler oder sonst etwas angezeigt.
Kennt jemand einen alternativen Befehl, um zu prüfen, ob etwas funktioniert? Die Idee ist ein einzelner Befehl, der mit Ubuntu vererbt wird und für den ich nichts weiter als X11 installieren muss. So etwas wie:
$ display_a_box_with_text HELLOWORLD
Ich bin nicht sicher, ob es nur mir so geht, aber es scheint lächerlich, dass die einzige Möglichkeit, zu prüfen, ob X11 funktioniert, darin besteht, MATLAB auszuführen. Es muss eine bessere Möglichkeit geben, dies zu prüfen.
Antwort1
Versuchen Sie anstelle des von Ihnen eingegebenen SSH-Befehls Folgendes:
$ ssh -v -Y user@cluster
Fügen Sie ein weiteres Argument hinzu, -v
um den Debugmodus für ssh
den Befehl zu aktivieren. Suchen Sie nach einer Zeile, die enthält Requesting X11 forwarding
, wie in:
$ ssh -v -Y user@cluster
[...]
debug1: Requesting X11 forwarding with authentication spoofing.
[...]
Nach der Anmeldung können Sie die folgenden Befehle zum Öffnen eines X-Fensters ausprobieren: xterm
, xclock
, xcalc
, xedit
, usw. Diese wurden bereits in den Kommentaren erwähnt.
Sie haben nach einem Dialogfeld mit benutzerdefiniertem Text gefragt, also sollten Sie Folgendes versuchen xmessage
:
$ xmessage -center hello!
Antwort2
Falls Sie keines haben xmessage
, sind dies die Alternativen:
xdg-open .
(sudo apt install xdg-utils
)xterm
Diese haben auf meinem CentOS 7-Server bei der Arbeit funktioniert.
Antwort3
Sie können drei Dinge ausprobieren
xeyes
xclock
xmessage -center hello!
Antwort4
Hier ist eine Antwort darausPost:
Um zu überprüfen, ob die X11-Weiterleitung aktiviert ist, sehen Sie sich den Wert der Umgebungsvariable DISPLAY an: echo $DISPLAY. Sie sollten einen Wert wie localhost:10 sehen (Anwendungen, die auf dem Remote-Computer ausgeführt werden, werden angewiesen, eine Verbindung zu einem Display herzustellen, das auf demselben Computer ausgeführt wird, aber diese Displayverbindung wird tatsächlich per SSH an Ihr clientseitiges Display weitergeleitet). Beachten Sie, dass es keinen Sinn macht, DISPLAY manuell festzulegen, wenn es nicht festgelegt ist: Die Umgebungsvariable ist immer korrekt festgelegt, wenn die Weiterleitung vorhanden ist.