У своєму коментарі до відповіді fons ви говорите, що він не працює під час використання screen.
Не могли б ви детальніше зупинитися на цьому? Дивлячись на вихідний код для openssh, sshd виконує команду за допомогою виклику
YOUR_DEFAULT_SHELL -c COMMAND
Так, наприклад, якщо по замовчуванням оболонка screen, то це не буде працювати , все це добре , тому що screen«S -cпрапор просто заміщає його .scrreenrc. Отже, насправді немає можливості надсилати команди на екран, якщо це ваша оболонка за замовчуванням. Вам доведеться фактично запустити екран як команду, задану для ssh, але з оболонкою за замовчуванням, яка не є екраном .
Якщо це ви намагаєтеся зробити, я думаю, що речі стануть дійсно дивними, оскільки screenви також закриєте вікна неінтерактивними програмами, тому вам доведеться робити аналогічний трюк, ніж у fons, але на один рівень глибше. Так, наприклад, / bin / bash (а не екран) як оболонка за замовчуванням Щось на зразок:
ssh user@host -t 'screen bash -l -c "ls;bash"'
Що повинно - зробити глибокий вдих-- ssh в хост, запустіть bash -c з командою екрана, яка створить нове вікно. Якщо це вікно щойно відкрилося ls, воно закінчиться, а екран припиниться, тому ми використовуємо фокус fons всередині нового вікна екрана .
Я думаю, що це спрацює, якщо це навіть те, що ви намагалися зробити;)