Как я могу передавать данные по сети или последовательно на дисплей другой Linux-машины?

У меня есть второй монитор, который я бы хотел использовать для текстового отладочного журнала и / или консоли. Я не хочу, чтобы это было частью моей GUI / «настольной» / основной системы.

У меня этот дисплей подключен к старому ящику Linux, который не имеет большой вычислительной мощности. Когда он загружается, он готов к приглашению login:

Он подключен к локальной сети, поэтому я могу использовать SSH. Я знаю, что могу писать на экран, запустив что-то вроде ssh root@ancient echo test \> /dev/tty0

Мне нравится использовать именованные каналы для отладки, в основном создавая один и тот же канал с mkfifo а затем используя tail -f , записывая данные из других команд / скриптов и т. Д.

Основываясь на этом объяснении того, что я пытаюсь сделать, что такое «хороший» / «правильный» способ делать то, что я пытаюсь сделать («выгрузить данные» в именованный канал по сети, чтобы выход появляются на экране этого терминала?)

Я знаю, что у меня есть доступ к ssh , tail , netcat ( nc ) и перенаправление с помощью таких вещей, как /dev/tty0 но я не могу понять, как это все красноречиво объяснить. Я видел это: могу ли я передать / перенаправить консольное приложение через netcat, чтобы его можно было использовать удаленно?

Кажется хакерским, чтобы использовать что-то вроде ssh root@ancient echo test \> /dev/tty0 static ssh root@ancient echo test \> /dev/tty0 и создать новое соединение для каждого отправленного элемента журнала.

Бонус был бы, если бы данные не были отправлены по сети в виде обычного текста, но я полагаю, что этот критерий не является обязательным, если он делает вещи очень медленными или создает слишком много накладных расходов или осложнений.

Кроме того, будет ли преимущество в использовании последовательного соединения между двумя машинами?

Я сделал это в прошлом, но мне показалось, что даже при максимальной скорости передачи данных в 115,200 случаев, когда было отправлено несколько сотен строк кода, это казалось «отсталым» по сравнению с отправкой данных по сети. Я знаю, что 115k – это старая «модемная технология», поэтому я просто хотел знать, является ли этот медленный, чем ожидалось, опыт для такого типа прямого (хотя и последовательного) соединения нормальным.

  • Маркировка команды в качестве переменной для повторного использования внутри каналов или отдельных команд
  • перенаправление на проблемы с файлом nohup и pipe
  • Труба не поднимает stdout
  • Подробный вывод в лог-файле и простой вывод на экран?
  • вход в / dev / xconsole не работает должным образом
  • Передача данных в stdin процесса без возникновения EOF впоследствии
  • Возможно выполнить команду pipe с помощью su через ssh
  • Не удалось сохранить значение в канале
  • 3 Solutions collect form web for “Как я могу передавать данные по сети или последовательно на дисплей другой Linux-машины?”

    netcat приходит на ум; это может быть более разумный выбор (учитывая отсутствие накладных расходов, отсутствие компрессионного подхода к сетевым связям) на вашей низкоприбыльной приемной машине.

    Хороший пример использования можно найти здесь:
    https://stackoverflow.com/questions/4113986/example-of-using-named-pipes-in-linux-bash

    Вы можете использовать tail -f так, как вы привыкли, и передать его через соединение ssh с другим компьютером:

     tail -f fifo | ssh root@ancient cat \> /dev/tty0 

    Вы запускаете cat > /dev/tty0 с другой стороны, что будет выводить его вход обратно на терминал. ssh передаст выход из tail в стандартный ввод cat по сети. Все данные полностью зашифрованы в пути

    Последовательное соединение будет работать, но если одна из машин не будет очень слабой, накладные расходы ssh и сетевого трафика будут незначительными.

    это должно быть достаточно

     cat > /dev/udp/ancient/12345 

    на одной машине и

     nc -lu 12345 

    с другой. Если вы хотите использовать TCP для надежности, просто удалите опцию -u из nc и замените /udp/ на /tcp на перенаправление

    Linux и Unix - лучшая ОС в мире.