Подтвердить что ты не робот

Как переключить CR/LF в экран gnu?

Я использую экран для чтения текста с последовательной консоли. Проблема заключается в том, что на выходе, по-видимому, есть только новая строка \n, но не возврат каретки \r, поэтому отображение выглядит так:

Line1
     Line2
          Line3

Интересно, есть ли какой-либо патч, чтобы исправить эту проблему?

4b9b3361

Ответ 2

onlcr предназначен для перевода o utgoing n ew l ines на c arriage r eturns.

stty -F /dev/ttyS0 inlcr преобразует входящие строки в возврат каретки. Вы можете запустить это из другого терминала после запуска экрана, чтобы избежать сброса этого экрана при запуске. К сожалению, однако, это только изменит проблему. После этого вы получите только возвраты и новые символы.

Необходима опция добавления возврата к входящей новой строке, чтобы терминал получал \n\r, что и должно было выводить на последовательное устройство в первую очередь. Кажется, существует опция onlret для этого для исходящих данных, но не опция inlret, как нам казалось бы, в этом случае.

У меня есть одна и та же проблема (с использованием picocom), и я уже много лет пытаюсь найти стандартное исправление, но, похоже, никто не имеет этого. Есть несколько последовательных устройств, которые выводят только \n и просто не могут быть сделаны для вывода \r\n, и я отказываюсь верить, что все они принадлежат только двум пользователям Linux. Что дает!?

Ответ 3

Если вы используете программу miniterm.py, которая поставляется с pyserial, она будет интерпретировать новые строки как crlf. Это не самый полнофункциональный эмулятор терминала, а для взаимодействия с простыми последовательными устройствами он выполняет свою работу.

Синтаксис использования (в OSX):

miniterm.py /dev/tty.usbserial-XXXXXX 115200

Замените XXXXXX тем, что устройство появляется в вашей системе как.

Ответ 4

В моем случае работал: stty -F /dev/ttyACM0 -icrnl

Поскольку сериал был неявно установлен для перевода CR в NL. Эта команда вернет его. Обратите внимание на символ минус, предшествующий icrnl.