Como criar pares de terminais pseudo -de -altura a partir da linha de comando

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

  •  29-07-2022
  •  | 
  •  

Pergunta

Eu tenho um aplicativo Linux (cujo código eu tenho acesso) que deve se comunicar por porta serial com um Windows One (terceiros, sem acesso ao código). O aplicativo Windows é executado em vinho, então eu quero definir o Com1 do Wine para algo e fazer meu software ler e escrever a partir daí. Eu acho que a melhor maneira é usar pseudo-terminais, é assim?

Existe uma maneira de simplesmente criar um par pseudo-terminal a partir da linha de comando no Linux? Eu já sei como fazer isso usando a API, mas existe uma maneira de fazer isso da Bash?

Talvez com Socat ou algo parecido?

Foi útil?

Solução

Você pode usar algo assim (não testado):

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

Isso criará dois PTYs consecutivos, o que é um pouco de exagero, mas o SOCAT copiará dados entre eles. O programa de vinhos abriria um lado do link como COM1 e seu programa abriria $ home/tmp/dev/myserial para se comunicar com o COM1.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top