如何创建两端带管道的PTY,结合minimodem实现远程终端连接?
用minimodem + socat实现音频远程终端
前提准备
- 两台电脑都安装好
minimodem和socat - 优先用音频线直连两台设备的输入输出接口(避免环境噪音干扰),或确保麦克风/扬声器能正常捕获、播放音频
- 两边使用相同波特率(推荐1200,兼容性最优)
方案1:通过伪终端模拟串口终端
接收端(先启动)
- 用socat创建伪终端,绑定minimodem的双向音频传输:
socat PTY,link=/tmp/virtual_serial,raw,echo=0 SYSTEM:"minimodem --listen 1200 --tx-carrier --rx-carrier"
- 新开终端,连接到伪终端作为交互界面:
screen /tmp/virtual_serial
发送端
- 同样用socat创建伪终端绑定minimodem:
socat PTY,link=/tmp/virtual_serial_client,raw,echo=0 SYSTEM:"minimodem 1200 --tx-carrier --rx-carrier"
- 连接到伪终端开始交互:
screen /tmp/virtual_serial_client
方案2:直接映射到Shell(无需额外终端工具)
接收端
直接启动socat,将Shell的输入输出与minimodem音频传输绑定:
socat EXEC:/bin/bash,pty,stderr SYSTEM:"minimodem --listen 1200 --tx-carrier --rx-carrier"
发送端
同样启动socat绑定Shell与minimodem:
socat EXEC:/bin/bash,pty,stderr SYSTEM:"minimodem 1200 --tx-carrier --rx-carrier"
注意事项
- 波特率必须两边一致,传输不稳定时可降低波特率(如300)
- 环境噪音会严重影响传输质量,务必优先用音频线直连
- 若minimodem无法捕获音频,可通过
minimodem --list-devices查看可用设备,再用--rx-device/--tx-device参数指定对应设备
内容的提问来源于stack exchange,提问作者Drew Helgerson
相关产品推荐
相关产品推荐

