我正在尝试使用Java简单串行连接器在 Arch Linux 上。我有一个简单的程序,如下所示:
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
我尝试与之通信的设备的组中。还有什么可能阻止我的程序枚举该设备?
答案1
您忘记在将自己添加到群组后注销并重新登录uucp
,这是群组更改生效的必要步骤。
这是一个文章有关 Archlinux wiki 上的权限和组的信息,以防您需要更多信息。