GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Virtueller serieller Port für Linux

Sie können dafür ein pty ("Pseudo-Teletyp", wobei eine serielle Schnittstelle ein "echter Teletyp" ist) verwenden. Öffnen Sie an einem Ende /dev/ptyp5 , und hängen Sie dann Ihr Programm an /dev/ttyp5 an; ttyp5 verhält sich wie ein serieller Port, sendet/empfängt aber alles, was er tut, über /dev/ptyp5.

Wenn Sie es wirklich brauchen, um mit einer Datei namens /dev/ttys2 zu sprechen , dann verschieben Sie einfach Ihren alten /dev/ttys2 aus dem Weg und mache einen Symlink von ptyp5 bis ttys2 .

Natürlich können Sie auch eine andere Zahl als ptyp5 verwenden . Wählen Sie vielleicht eine mit einer hohen Nummer, um Duplikate zu vermeiden, da alle Ihre Login-Terminals ebenfalls ptys verwenden werden.

Wikipedia hat mehr über ptys:http://en.wikipedia.org/wiki/Pseudo_terminal


Verwenden Sie dazu socat:

Zum Beispiel:

socat PTY,link=/dev/ttyS10 PTY,link=/dev/ttyS11

Ergänzung der Antwort von @slonik.

Sie können socat testen, um einen virtuellen seriellen Port zu erstellen, indem Sie das folgende Verfahren ausführen (getestet auf Ubuntu 12.04):

Öffnen Sie ein Terminal (nennen wir es Terminal 0) und führen Sie es aus:

socat -d -d pty,raw,echo=0 pty,raw,echo=0

Der obige Code gibt zurück:

2013/11/01 13:47:27 socat[2506] N PTY is /dev/pts/2
2013/11/01 13:47:27 socat[2506] N PTY is /dev/pts/3
2013/11/01 13:47:27 socat[2506] N starting data transfer loop with FDs [3,3] and [5,5]

Öffnen Sie ein anderes Terminal und schreiben Sie (Terminal 1):

cat < /dev/pts/2

Der Portname dieses Befehls kann je nach PC geändert werden. es hängt von der vorherigen Ausgabe ab.

2013/11/01 13:47:27 socat[2506] N PTY is /dev/pts/**2**
2013/11/01 13:47:27 socat[2506] N PTY is /dev/pts/**3**
2013/11/01 13:47:27 socat[2506] N starting data transfer loop with FDs 

Sie sollten die im hervorgehobenen Bereich verfügbare Nummer verwenden.

Öffnen Sie ein anderes Terminal und schreiben Sie (Terminal 2):

echo "Test" > /dev/pts/3

Nun zurück zu Terminal 1 und Sie sehen die Zeichenfolge "Test".


Linux
  1. Linux-Tipps zur Verwendung von GNU Screen

  2. Meine Top 10 Terminal-Shortcuts für Linux

  3. Linux – Schlüsseltausch in einem virtuellen Terminal?

  4. Linux – So finden Sie Prozesse über die serielle Schnittstelle?

  5. Terminalbasierter Texteditor im Windows-Stil für Linux

Eine Einführung in den Terminalemulator DomTerm für Linux

So suchen Sie unter Linux nach Listening Ports (Ports in use)

15 Linux-Bildschirmbefehl zum Behandeln von Terminalsitzungen

Terminal Velocity – Eine CLI-Notizanwendung für Linux

Top 8 Terminal-Emulatoren für Linux [in 2021]

Textterminal-Hardware (für Linux)