Ich muss per SSH auf einen Remotecomputer (der an einen Bildschirm angeschlossen ist) zugreifen. Das Problem besteht darin, dass die Programme, die ich über SSH starte, auf dem Remotebildschirm angezeigt werden müssen ( tail
, htop
, slurm
, …).
Der Remotecomputer hat kein X, nur ein einfaches Textterminal.
Wie kann ich auf dem Remotecomputer Befehle ausführen, die auf seinem Bildschirm angezeigt werden?
Antwort1
Soweit ich weiß, ist es nicht möglich, direkt per SSH auf die Konsole eines Remote-Bildschirms zu schreiben.
Es ist jedoch möglich, dies mit zu umgehen screen
. Sie benötigen lediglich einen Erstzugriff auf den PC, mit dem Sie sich verbinden.
- Öffnen Sie auf dem Desktop-PC eine
screen
Sitzung mit dem Befehlscreen -s sessionName
- Anschließend
SSH
können Sie sich in dieser Shell mit dem folgenden Befehl verbinden:screen -x sessionName
Antwort2
Auf die Textmoduskonsole eines Unix-Systems kann normalerweise über ein TTY-Gerät zugegriffen werden. Unter Linux greifen Sie normalerweise auf /dev/console oder /dev/ttyN zu, wobei „N“ eine Zahl ist, die mit 1 beginnt.Diese Seitebietet eine ziemlich umfassende Beschreibung der TTY-Geräte, die die Linux-Konsole darstellen.
TTY-Geräte haben wie jede andere Datei Besitzer und Dateiberechtigungen, und diese Dinge können den Zugriff auf das TTY-Gerät einschränken. Auf meinem System sehe ich beispielsweise:
$ ls -l /dev/console
crw------- 1 myid staff 0, 0 Oct 27 2014 /dev/console
Im Moment besitze ich das Konsolengerät und die Berechtigungen sind auf 600 eingestellt, was bedeutet, dass nur mein Konto und Root darauf schreiben können. Es ist normal, dass das Eigentumsrecht an der Konsole dem Konto gehört, das derzeit bei der Konsole angemeldet ist.
Vorausgesetzt, Sie können auf das entsprechende TTY-Gerät zugreifen (weil Sie Root sind, das Gerät Ihnen gehört oder die Zugriffsberechtigungen entsprechend eingestellt sind), können Sie darauf wie auf jedem anderen Zeichengerät lesen und schreiben:
$ tail -f /var/log/messages > /dev/console
Dieser Befehl würde beispielsweise ausgeführt tail
und die Ausgabe auf das Konsolengerät geschrieben.