有没有办法从/dev/input
设备中读取数据,而不需要 root 权限?
就我而言,我想使用 Python 库evdev从多个键盘读取(以便我知道信号来自哪个键盘),因此stdin
无法简单地使用。
总是必须使用 sudo-privileges 调用程序不会太优雅 - 例如,是否可以 chmod/dev/input
目录(安全性在我的情况下无关紧要)?
或者,更好的是,是否有另一种直接从输入设备读取的方法?
这篇堆栈溢出文章似乎回答了您的问题。
见第二个答案。接受的答案是:
查看设备文件属于哪个组。例如,在这里我得到:
$ 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。
归档时间: |
|
查看次数: |
10997 次 |
最近记录: |