Mav*_*rik 47 permissions usb tty
我有一个有 2 个用户的 Ubuntu 11.10 系统:
现在的问题是,当第二个尝试使用设备时ttyUSB0
,会返回以下错误:
"Could not open serial port /dev/ttyUSB0"
Run Code Online (Sandbox Code Playgroud)
我能够使用以下方法修复它:
sudo chown :second_user /dev/ttyUSB0
Run Code Online (Sandbox Code Playgroud)
但是,当我断开设备并重新连接时,问题又回来了。
有没有办法允许不同的用户访问设备?我想我必须将用户添加到特定组。目前所有者是root
,组是dialout
。但是,我不确定该组,也不知道如何添加用户。
谢谢!
Jer*_*err 66
正如您所注意到的,该/dev/ttyUSB0
设备具有dialout
. 您需要做的就是将第二个用户添加到dialout
组中:
sudo adduser second_user dialout
Run Code Online (Sandbox Code Playgroud)
second_user 需要注销并重新登录才能生效。
Ori*_*lor 17
简单的方法:
sudoedit /etc/udev/rules.d/50-myusb.rules
Run Code Online (Sandbox Code Playgroud)
保存此文本:
KERNEL=="ttyUSB[0-9]*",MODE="0666"
KERNEL=="ttyACM[0-9]*",MODE="0666"
Run Code Online (Sandbox Code Playgroud)
拔下设备并重新插入,它应该可以从任何用户读取/写入!
你可以使用UDEV。这是一个每次插入或拔出设备(以及其他东西)时都会触发的系统。有了它,您可以编写各种要发生的事情,包括设置权限。
运行sudoedit /etc/udev/rules.d/50-ttyusb.rules
并将其粘贴在那里:
KERNEL=="ttyUSB[0-9]*",NAME="tts/USB%n",SYMLINK+="%k",GROUP="uucp",MODE="0666"
Run Code Online (Sandbox Code Playgroud)
保存,退出并重新插入,您应该启动并运行。将权限设置为 666 允许任何人写入设备。
我将此基于几年前的这个页面,但是如果 Jeremy 的解决方案不起作用,这样的事情应该可以工作。
小智 5
太棒了——这里给出的 UDEV 解决方案是我的票。
我通过 Wine 安装了 Icom 的 CS-F3020_F5010_F5020 程序,创建了 Com 端口的链接如下:
ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1 but nothing.
Run Code Online (Sandbox Code Playgroud)
然后我意识到我需要更改 /dev/ttyUSB0 的权限以允许我访问它。这很好用,直到您拔下/重新插入 USB,然后您需要重新更改权限。
我尝试将我的用户添加到拨出组,但这由于某种原因并没有解决问题。
使用 UDEV 解决了最后一块难题。现在我可以使用 Linux 对我的 Icom 无线电进行编程,插入和拔出 USB/串行设备而无需大惊小怪。呜呼。谢谢。
归档时间: |
|
查看次数: |
235658 次 |
最近记录: |