我正在尝试在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上的权限和组的文章 ,以防你需要更多的信息。