枚举串行设备的用户权限

我正在尝试在Arch Linux上使用Java简单串行连接器 。 我有一个简单的程序列出如下:

import jssc._ object Main { def main(args:Array[String]):Unit = { println("Started") val portNames = SerialPortList.getPortNames portNames.foreach(println(_)) } } 

如果我运行ls -la /dev/ttyACM0我得到以下内容:

 crw-rw---- 1 root uucp 166, 0 May 5 18:41 /dev/ttyACM0 

如果我运行groups ryan我得到uucp ryan

如果我运行sbt run我只是Started

如果我运行sudo sbt run我得到以下内容:

 Started /dev/ttyACM0 

我已经将我的用户ryan添加到了uucp中,该组拥有/dev/ttyACM0 (我正在尝试与之通信的设备)。 还有什么可以阻止我的程序枚举设备?

您忘记注销并在将自己添加到uucp组后重新login,组更改才能生效。

这里有一篇关于Archlinux wiki上的权限和组的文章 ,以防你需要更多的信息。