W swoim komentarzu do odpowiedzi fons mówisz, że nie działa podczas używania screen
.
Czy mógłbyś to rozwinąć? Patrząc na kod źródłowy openssh, sshd wykonuje polecenie, wywołując
YOUR_DEFAULT_SHELL -c COMMAND
Tak więc, na przykład, jeśli domyślna powłoka jest screen
, to nie będzie działać dobrze, bo wszystko, co screen
„s -c
flag prostu nadpisuje ITS .scrreenrc
. Tak więc naprawdę nie ma możliwości wysłania poleceń do ekranu, jeśli jest to domyślna powłoka. Będziesz musiał uruchomić screen jako polecenie wydane ssh, ale z domyślną powłoką, która nie jest screenem .
Jeśli to właśnie próbujesz zrobić, myślę, że wszystko stanie się naprawdę dziwne, ponieważ screen
zamknie także okna za pomocą nieinteraktywnych programów, więc będziesz musiał zrobić podobną sztuczkę jak fony, ale o jeden poziom głębiej. SO, z np. / Bin / bash (a nie screen) jako domyślną powłoką Coś takiego:
ssh user@host -t 'screen bash -l -c "ls;bash"'
Który powinien - wziąć głęboki oddech - ssh do hosta, uruchomić bash -c z poleceniem screen, co spowoduje utworzenie nowego okna. Gdyby to okno właśnie otworzyło ls, skończyłoby się, a ekran skończyłby się, więc używamy sztuczki fonsa w nowym oknie ekranu .
Myślę, że to zadziała, jeśli to właśnie próbowałeś zrobić;)