枚举串行设备的用户权限

枚举串行设备的用户权限

我正在尝试使用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

我已将我的用户添加ryanuucp拥有/dev/ttyACM0我尝试与之通信的设备的组中。还有什么可能阻止我的程序枚举该设备?

答案1

您忘记在将自己添加到群组后注销并重新登录uucp,这是群组更改生效的必要步骤。

这是一个文章有关 Archlinux wiki 上的权限和组的信息,以防您需要更多信息。

相关内容