没有root权限的Linux原始输入?

时间:2012-11-04 16:41:36

标签: linux events input

在Linux程序上,在控制台上(如没有xorg等),我正在使用/ dev / input / event *来读取键盘和鼠标,但是我需要root才能读取它们。是否有另一种形式来读取这些东西而不需要root权限(无需更改permisons和配置文件等)?

我理解为什么它默认情况下无需解释。

2 个答案:

答案 0 :(得分:8)

是的,可以通过创建udev规则来查看此HowTo

  

例如以root身份创建文件/etc/udev/rules.d/99-input.rules:

     

KERNEL ==“event *”,NAME =“input /%k”,MODE =“660”,GROUP =“input”

注意:您可能需要先创建“输入”组。

答案 1 :(得分:6)

检查设备文件属于哪个组。例如,我得到:

$ ls -l /dev/input/
...
crw-rw---- 1 root plugdev 13, 64 Nov  4 18:01 event0
crw-rw---- 1 root plugdev 13, 65 Nov  4 18:01 event1
crw-rw---- 1 root plugdev 13, 66 Nov  4 18:01 event2
crw-rw---- 1 root plugdev 13, 67 Nov  4 18:01 event3
crw-rw---- 1 root plugdev 13, 68 Nov  4 18:01 event4
...

执行程序的用户需要位于此系统的plugdev组中。你的系统可能就是这种情况。

如果你想要一种绕过它的方法(读取或写入设备而不在组中),那么不。这显然会破坏用户组的安全目的。

直接读取事件设备的替代方法是使用适当的用户空间API。例如,要读取键盘,您将使用ncurses,并阅读鼠标,您将使用GPM。