Comment créer des paires de terminaux pseudo à partir de la ligne de commande

StackOverflow https://stackoverflow.com/questions/19848028

  •  29-07-2022
  •  | 
  •  

Question

J'ai une application Linux (dont j'ai accès le code) qui doit communiquer via le port série avec un Windows One (tiers, pas d'accès au code). L'application Windows s'exécute dans du vin, donc je veux régler le COM1 du vin sur quelque chose et faire lire et écrire mon logiciel à partir de là. Je suppose que la meilleure façon est d'utiliser des pseudo-terminaux, c'est ainsi?

Existe-t-il un moyen de créer simplement une paire pseudo-terminale à partir de la ligne de commande dans Linux? Je sais déjà faire cela en utilisant l'API, mais y a-t-il un moyen de le faire de Bash?

Peut-être avec Socat ou quelque chose comme ça?

Était-ce utile?

La solution

Vous pourriez être en mesure d'utiliser quelque chose comme ça (non testé):

socat PTY,link=$HOME/.wine/dosdevices/com1,raw,echo=0 PTY,link=$HOME/tmp/dev/myserial,raw,echo=0

Cela créera deux PTY consécutifs, ce qui est un peu exagéré, mais SOCAT copiera les données entre eux. Le programme de vin ouvrirait un côté du lien en tant que COM1, et votre programme ouvrirait $ home / tmp / dev / myserial pour communiquer avec COM1.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top