Beam Bench文档

Linux串口权限

Beam Bench无法打开串口,因为你的用户没有权限。通过加入dialout组修复。

你会看到

在Linux下插入激光设备。串口存在(/dev/ttyUSB0/dev/ttyACM0),但:

  • Beam Bench下拉菜单中不显示该串口,或
  • Beam Bench连接时显示“Permission denied”。

发生了什幺

Linux通过文档系统权限保护串口。默认情况下,只有dialout组可以访问串行设备。如果你的用户不在该组中,就无法打开串口。

修复方法

检查操作系统是否能看到串口

ls -la /dev/ttyUSB* /dev/ttyACM*

如果看到包含crw-rw---- 1 root dialout或类似内容的条目,说明串口存在,但仅限dialout组访问。

将自己加入dialout组

sudo usermod -aG dialout $USER

退出登录并重新登录,使组变更生效。(重启也可以。)使用以下命令验证:

groups

列表中应显示dialout

如果你的发行版使用其他组名

某些发行版使用uucp(Arch)或tty,而不是dialout。检查串口所属的组:

ls -la /dev/ttyUSB0

第四列就是组名。将自己加入该组即可。

验证串口是否正常

重新登录后:

echo '?' > /dev/ttyUSB0

不应产生权限错误。读取返回数据需要更多操作(可以使用screenminicom,或者直接打开Beam Bench)。

如果串口仍未出现在Beam Bench中

  • 确认操作系统能看到它(ls /dev/tty*)。
  • 确认你的用户可以访问它(stat -c "%U %G" /dev/ttyUSB0以及你的用户组)。
  • 重启Beam Bench,使其重新扫描操作系统设备列表。

如果使用带沙盒的flatpak / snap / appimage

某些打包的Linux应用格式会限制设备访问。请查看相应打包格式的文档。对于AppImages,你可能需要使用--no-sandbox运行,或明确授予设备访问权限。

验证是否生效

  • Beam Bench的串口下拉菜单显示你的串口。
  • 连接成功。
  • Console显示GRBL欢迎消息。

仍然无法解决?

On this page