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?
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.
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!?
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.
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
.