У меня есть компьютер без мыши или клавиатуры, но он подключен к монитору. Мне было интересно, возможно ли открыть программу удаленно (например, через SSH) в определенном tty (например, tty1), чтобы я мог наблюдать вывод на мониторе.
2 ответа
Похоже, что следующий SO-вопрос может ответить на ваш: https://stackoverflow.com/questions/8994593/how-to-reroute-stdout-stderr-back-to-dev-tty
exec >/dev/tty 2>&1
должен это сделать
только для некоторых команд > /dev/tty1
после команды (как заявил Дэвид Шварц) также будет работать
Вы можете использовать виртуальные консоли Linux для этого. Каждая виртуальная консоль представляет собой отдельный текстовый или графический дисплей, клавиатуру и мышь, которые совместно используют реальное аппаратное обеспечение дисплея компьютера.
Доступ к каждой виртуальной консоли можно получить через устройства tty /dev/ttyN
, где N равно 1, 2 и т.д. /dev/tty1
- это виртуальная консоль 1. Если к компьютеру подключена клавиатура, вы должны нажать Alt-F1, чтобы перейти к консоли 1, Alt-F2 для консоли 2 и т.д. (Или Ctrl-Alt-FN, если на отображаемой в данный момент консоли запущена X), Существует также набор программ для работы с виртуальными консолями, которые вам придется использовать, поскольку у вас нет клавиатуры.
Короче:
some-program > /dev/tty1 2>&1
перенаправит вывод программы на виртуальную консоль 1. Если консоль 1 отсутствует на мониторе, вы можете переключиться на нее:
chvt 1
Лучший способ - запустить openvt
для запуска команды на виртуальной консоли:
openvt -s some-command
Это выберет новую виртуальную консоль, сделает ее видимой на экране и выполнит указанную команду. У Openvt есть и другие варианты, поэтому проверьте документацию.
Другими полезными командами являются fgconsole
для отображения номера отображаемой в данный момент консоли и deallocvt
для очистки неиспользуемых консолей.
Все эти команды могут требовать привилегий суперпользователя для запуска.