GNU/Linux >> Linux Esercitazione >  >> Linux

Porta seriale virtuale per Linux

Puoi usare un pty ("pseudo-telescrivente", dove una porta seriale è una "vera telescrivente") per questo. Da un'estremità, apri /dev/ptyp5 , quindi allega il tuo programma a /dev/ttyp5; ttyp5 funzionerà proprio come una porta seriale, ma invierà/riceverà tutto ciò che fa tramite /dev/ptyp5.

Se ne hai davvero bisogno per parlare con un file chiamato /dev/ttys2 , quindi sposta semplicemente il tuo vecchio /dev/ttys2 fuori mano e creare un collegamento simbolico da ptyp5 a ttys2 .

Ovviamente puoi usare un numero diverso da ptyp5 . Forse scegline uno con un numero elevato per evitare duplicati, poiché anche tutti i tuoi terminali di accesso utilizzeranno pty.

Wikipedia ha di più su ptys:http://en.wikipedia.org/wiki/Pseudo_terminal


Usa socat per questo:

Ad esempio:

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

A complemento della risposta di @slonik.

Puoi testare socat per creare una porta seriale virtuale eseguendo la seguente procedura (testato su Ubuntu 12.04):

Apri un terminale (chiamiamolo Terminale 0) ed eseguilo:

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

Il codice precedente restituisce:

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]

Apri un altro terminale e scrivi (Terminale 1):

cat < /dev/pts/2

il nome della porta di questo comando può essere modificato in base al pc. dipende dall'output precedente.

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 

dovresti utilizzare il numero disponibile nell'area evidenziata.

Apri un altro terminale e scrivi (Terminale 2):

echo "Test" > /dev/pts/3

Ora torna al Terminale 1 e vedrai la stringa "Test".


Linux
  1. Suggerimenti Linux per l'utilizzo di GNU Screen

  2. Linux:scambio di chiavi in ​​un terminale virtuale?

  3. Hyper:la migliore app terminale per Linux

  4. Cygwin vs macchina virtuale Linux per lo sviluppo?

  5. Editor di testo in stile Windows, basato su terminale, per Linux

Un'introduzione all'emulatore di terminale DomTerm per Linux

Come controllare le porte di ascolto in Linux (porte in uso)

15 Comando dello schermo di Linux per la gestione delle sessioni del terminale

Terminal Velocity:un'applicazione CLI per prendere appunti per Linux

I migliori 8 emulatori di terminale per Linux [nel 2021]

Hardware del terminale di testo (per Linux)