在
Linux程序上,在控制台上(如没有xorg等),我正在使用/ dev / input / event *来读取键盘和鼠标,但是我需要root才能读取它们.是否有另一种形式来读取这些东西而不需要root权限(无需更改permisons和配置文件等)?
我理解为什么它默认情况下无需解释.
解决方法
检查设备文件属于哪个组.例如,我得到:
$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.