Eu teria dois dispositivos USB seriais conectados um ao outro /dev/ttyUSB1
e /dev/ttyUSB2
. Gostaria de rodar /bin/bash
conectado em uma extremidade, para poder conectar na outra extremidade usando picocom
e usar o picocom como emulador de terminal local.
Eu tentei coisas assim
setsid /bin/bash </dev/ttyUSB2 >/dev/ttyUSB2 2>&1
e, em seguida, conectando-me à outra extremidade com o picocom, mas acabei de receber uma tela cheia de gibrish ( :~$ 0m:~$ 0m:~$ 0m:~$ 0m:~$ 0m:~$ 0m:~$ 0m:~$ 0m:~$ 0m:~$ 0m:~$ 0m:~$ 0m:~$ 0m:~$ 0m:~$
).. (as taxas de transmissão correspondem e os dois terminais podem se comunicar com dois picocom em ambas as extremidades)
No entanto, eu realmente não tenho ideia do que estou fazendo. Alguém pode me contar o segredo?
Correção/Atualização:
Em um computador diferente, não consigo mais entender o jargão que recebia antes. Quando eu conecto o bash a um tty como acima e conecto à outra extremidade com o picocom, recebo o prompt agora e posso executar comandos, mas meus comandos não são repetidos para mim (só vejo o resultado), e não tenho "controle de trabalho" (que testo com Ctrl+C, o que não interromperá um processo de suspensão)
Fundo:
Já usei o picocom com sucesso como emulador de terminal local de duas outras maneiras:
com getty:
sudo systemctl start [email protected]
permite que eu me conecte
/dev/ttyUSB1
ao picocom com sucesso, mas preciso fazer login. (graças a esta resposta https://unix.stackexchange.com/a/772040/158192 a uma pergunta anterior)com socat
$ socat -d -d PTY,raw,echo=0 EXEC:"/bin/bash",pty,stderr,setsid,sane 2024/04/01 18:32:13 socat[40547] N PTY is /dev/pts/4 ...
o que me permite usar o picocom como terminal local como este
picocom /dev/pts/4
então sim, eu deveria ser capaz de conectar /bin/bash ao usb tty sozinho, certo? mas todas as minhas tentativas contêm erros.