出于测试目的,我想使用 socat 创建要在我的Python程序中使用的虚拟串行端口。
我取得的成功有限,但是在socat中有很多选择却一次又一次地挣扎。我在Ubuntu Linux中使用以下命令:
sudo socat -d -d pty,b9600,raw,echo=0,link=/dev/ttyS90 pty,b9600,raw,echo=0,link=/dev/ttyS91
它应该创建/ port / pts / 2和4之类的虚拟端口,并将它们链接到/ dev / ttyS90和* 91。如果没有sudo,它将无法工作(尽管普通用户在拨出组中,但无法取消* 90,* 91端口的链接)。
但是,正如您看到的那样,权限“ lrwxrwxrwx”看起来像是对所有人的读/写。但是,事实并非如此:除非我是root用户,否则我不能使用这些设备。文件管理器(= Nemo)给出以下结果:
权限明显不同。嗯?
发出“ sudo chmod 777 / dev / ttyS90”(* 91相同)后,终端输出中没有任何变化,因为它已经(但不正确地)显示了777权限,但是Nemo输出更改为
现在我可以以普通用户的身份使用端口了!怎么会?我在做错什么吗?
还有另一个socat问题:上面的socat命令提供了8位无奇偶校验连接,但是我确实需要7位偶数奇偶校验连接。我通过兼顾许多选项中的一些来实现此目的的尝试均以失败告终。我迷路了;有见识吗?
答案 0 :(得分:0)
尝试更改/dev/pts/2
和/dev/pts/4
而不是链接的权限