Я ищу способ взаимодействия с локальной консолью через SSH - точно так же, как вы бы поступили с подключенной напрямую клавиатурой.
В моем конкретном случае у меня есть сервер debian (только консоль, без X-системы), который отображает несколько текстовых значений на tty1. К этому компьютеру не подключены устройства ввода, только один дисплей. Конфигурация выполняется по ssh. Команды, выполняемые в SSH, должны отображаться на tty1.
Есть ли способ взаимодействовать с tty1 таким же образом, как сеанс VNC в системе X-Window?
Вы можете прочитать текст, отображаемый на экране в данный момент, из /dev/vcs
. Если ваше окно терминала имеет такое же количество столбцов, что и фактический вывод экрана на сервере, вы можете просто ввести cat /dev/vcs
и получите узнаваемый результат.
Вы можете добавить номер, чтобы получить доступ к определенной консоли, а не всегда к активной консоли. И вы можете использовать vcsa
, если вам также нужна информация о форматировании. Так, например, вы можете использовать /dev/vcsa1
чтобы получить текст на первом ВК длинный с информацией о форматировании.
Другое дело - ввод с клавиатуры. AFAIR звонки, используемые gpm
поддерживает только вырезание и вставку и не позволяет вводить произвольные нажатия клавиш. Несколько поисковых запросов в сети показали, что он не поддерживается "из коробки", но его можно воплощать в жизнь как водитель.
Если это актуальный сервер, он будет иметь функции внешнего управления (IPMI), которые позволят вам получить доступ к системной консоли. Например, серверы Dell называют это iDRAC, серверы HP - iLO и т. Д.
Если на вашем сервере нет такой функции, вы можете подключить к нему IP-KVM-устройство.
Я знаю, что это старый вопрос, но вот некоторые идеи:
Использование "экрана" - лучший способ
начни с ввода screen
введите вашу команду
нажмите CTRL + A d (чтобы выйти из экрана)
это отключит экран от текущего сеанса.
как только вы снова войдете на свой сервер, вы можете ввести: screen -ls
чтобы увидеть список активных экранов
повторно прикрепите экран с помощью команды: screen -r <id of the screen>