Нормальним способом підключення до SSH-сервера є ssh username@ip_address
. Але користувач може захотіти запустити програму лише на віддаленій машині. Отже, назва програми слідує після звичайного аргументу, який є ssh username@ip_address <program_name>
. Наприклад, ssh username@ip_address ls
. Цей аргумент чудовий, за винятком інтерактивних програм (які також приймають введення користувачів, а також надають вихід), наприклад top
. Вихід є
Змінна середовища TERM не встановлена.
а це означає, що жоден (псевдо-) термінал не приєднаний між програмами sshd та top. Рішення полягає в тому, щоб додати аргумент -t
там, де тепер стає вся команда ssh -t username@ip_address top
.
Моє запитання: чому за замовчуванням sshd не може також використовувати псевдотермінал для спілкування з неінтерактивними програмами, тому немає необхідності додавати -t
аргументи для інтерактивних програм?
RequestTTY yes
(або force
) у своєму конфігурації.
top
може працювати в пакетному режимі.