Comment basculer CR / LF dans gnu screen?

j'utilise l'écran pour lire le texte d'une console série. Le problème est que la sortie ne semble avoir que newline n Mais Pas de retour de chariot R, donc l'affichage ressemble à ceci...

Line1
     Line2
          Line3

je me demande s'il y a un correctif pour régler ce problème?

17
demandé sur Jason Plank 2011-10-18 22:50:14

4 réponses

stty onlcr.

page de manuel de dit qu'il va traduire les nouvelles lignes en paires retour de chariot / newline sur la sortie, ce qui semble être ce dont vous avez besoin.

2
répondu Frédéric Hamidi 2011-10-18 20:01:42

onlcr pour traduire o utening n ew lines cmariage r eturns.

stty -F /dev/ttyS0 inlcr traduira en approche retours newlines to carriage. Vous pouvez exécuter cela à partir d'un autre terminal après avoir lancé l'écran pour éviter tout redémarrage que l'écran peut faire au démarrage. Malheureusement, cela ne fera que changer le problème. Vous n'obtiendrez alors que des retours et non les retours à la ligne.

ce qu'il faut, c'est une option pour append un retour à une nouvelle ligne entrante pour que le terminal reçoive \n\r, ce qui est ce que le périphérique série devrait sortie en premier lieu. Il semble y avoir un onlret option pour ce faire, pour la sortie de données, mais pas de inlret option nous semble nécessaire dans ce cas.

j'ai exactement le même problème (mais en utilisant picocom) et j'ai cherché sur Google pendant des jours pour essayer de trouver la norme corriger, mais personne ne semble en avoir un. Il ya un certain nombre de périphériques série là-bas qui ne sortent \n et ne peut simplement pas être fait à la sortie \r\n et je refuse de croire qu'ils appartiennent tous à seulement deux utilisateurs de linux. Ce qui donne un!?

19
répondu tacos 2012-03-19 23:24:47

si vous utilisez le miniterm.py programme qui vient avec pyserial il interprétera newlines comme crlf. Ce n'est pas l'émulateur terminal le plus complet, mais pour interagir avec des appareils série simples, il obtient le travail fait.

syntaxe D'utilisation (sur OSX):

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

remplacez XXXXXX par quoi que le périphérique apparaisse sur votre système en tant que.

8
répondu Peter E. 2014-01-29 18:25:35

Dans mon cas a travaillé: stty -F /dev/ttyACM0 -icrnl

parce que la série a été implicitement définie pour traduire CR en NL. Ce jeu de commandes en arrière. Notez le caractère moins qui précède icrnl.

2
répondu jejdacz 2017-04-21 00:54:20