Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 Linux 应用程序(我可以访问其代码),它必须通过串行端口与 windows one(第三方,无法访问代码)进行通信。Windows 应用程序在 Wine 中运行,所以我想将 Wine 的 com1 设置为某个东西,并让我的软件从那里读写。我想最好的方法是使用伪终端,是这样吗?
有没有办法在 Linux 中从命令行简单地创建一个伪终端对?我已经知道如何使用 API 做到这一点,但是有没有办法从 bash 做到这一点?
也许用 socat 或类似的东西?
您也许可以使用这样的东西(未经测试):
socat PTY,link=$HOME/.wine/dosdevices/com1,raw,echo=0 PTY,link=$HOME/tmp/dev/myserial,raw,echo=0
这将创建两个背靠背的 PTY,这有点矫枉过正,但 socat 会在它们之间复制数据。wine 程序将打开链接的一侧作为 COM1,您的程序将打开 $HOME/tmp/dev/myserial 以与 COM1 通信。