Mein Szenario ist folgendes:
Ich habe eine Bildschirmsitzung, die an einem entfernten Standort ausgeführt wird. Innerhalb dieses Bildschirms befindet sich ein konsolenbasiertes Programm. Wenn es ohne Bildschirm ausgeführt wird, startet dieses Programm im Terminal und akzeptiert Befehle auf seiner Standardeingabe.
Was ich möchte, ist eine Möglichkeit, einen Befehl aus der Ferne an den Bildschirm zu senden, damit dieser Befehl vom Konsolenprogramm empfangen wird. Vielleicht so:
Mein PC -> SSH Send Msg Auto -> Bildschirmsitzung -> Programm (Run-Befehl empfangen)
Von einem Remote-PC aus kann ich also per SSH-Befehle an den Bildschirm senden, der sie an das Programm sendet. Das Programm akzeptiert sie und führt sie aus.
Akzeptierte Antwort:
Wenn ich das richtig verstehe, möchten Sie Eingaben an ein Programm senden, das in einer Bildschirmsitzung ausgeführt wird. Sie können dies mit stuff
von screen tun Befehl. Verwenden Sie das -X
des Bildschirms Option, um einen Befehl in einer Bildschirmsitzung auszuführen, ohne daran anzuhängen.
screen -S sessionname -p windowname -X stuff 'command1
command2
'
Wenn Sie die Ausgabe des Programms sehen möchten, sehen Sie sich die hardcopy
an , log
und logfile
Befehle.