Как я могу передавать данные по сети или последовательно на дисплей другой 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 – это старая «модемная технология», поэтому я просто хотел знать, является ли этот медленный, чем ожидалось, опыт для такого типа прямого (хотя и последовательного) соединения нормальным.

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 на перенаправление

  • Сломанная труба при выходе grepping, но только с флагом -i
  • Проблема с переменной чтения от AWK
  • неожиданный вывод с помощью grep
  • Это ошибка в bash? `return` не выходит из функции, если вызывается из канала
  • Почему массив пуст после цикла while?
  • Время, необходимое для вывода трубы на голову / хвост
  • Grep, но пусть первая строка через
  • Почему / dev / stderr недействителен при перенаправлении на канал в cygwin?
  • команда | grep | awk | ... как выполнить
  • Могу ли я подключать любые два процесса друг к другу?
  • Почему эта команда ssh не работает? (cat ./file | ssh <user @ host> "cat | sudo -t -t 'cat> / root / location / file'")
  • Linux и Unix - лучшая ОС в мире.