In deinem Kommentar zur Antwort von fons sagst du, dass es während der Benutzung nicht funktioniert screen.
Könnten Sie das näher erläutern? Im Quellcode von openssh führt sshd den Befehl durch Aufrufen aus
YOUR_DEFAULT_SHELL -c COMMAND
Wenn Ihre Standard-Shell beispielsweise "" ist screen, funktioniert dies nicht so gut, da screendas -cFlag von "" nur das Flag überschreibt .scrreenrc. Es gibt also wirklich keine Möglichkeit, Befehle an den Bildschirm zu senden, wenn es Ihre Standard-Shell ist. Sie müssen eigentlich screen als Befehl für ssh ausführen, aber mit einer Standard-Shell, die kein screen ist .
Wenn du das versuchst, werden die Dinge wirklich komisch, da screenauch Fenster mit nicht interaktiven Programmen geschlossen werden, also musst du einen ähnlichen Trick wie bei Fons machen, aber eine Ebene tiefer. SO, mit zB / bin / bash (und nicht - Bildschirm) als Standard - Shell So etwas wie:
ssh user@host -t 'screen bash -l -c "ls;bash"'
Um einen tiefen Atemzug zu machen, führen Sie bash -c mit dem Befehl screen aus, wodurch ein neues Fenster geöffnet wird. Wenn dieses Fenster gerade geöffnet würde, würde es enden und der Bildschirm würde sich beenden, also verwenden wir den Trick von fons innerhalb des neuen Bildschirmfensters .
Ich denke, das wird funktionieren, wenn du es überhaupt versucht hast;)