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

use*_*861 7 linux events input

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

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

iab*_*der 8

是的,可以通过创建一个udev规则,看看这个HowTo

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

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

注意:您可能需要先创建组"输入".

  • 好吧,您需要 root 来创建 udev 规则。 (2认同)

Nik*_* C. 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.