![Linux:如何启用动态鼠标](https://linux22.com/image/1222061/Linux%EF%BC%9A%E5%A6%82%E4%BD%95%E5%90%AF%E7%94%A8%E5%8A%A8%E6%80%81%E9%BC%A0%E6%A0%87.png)
我有一个应用程序,除了内置触摸板外,它还可以读取通过 USB 插入的 4 个鼠标的输入。这对于 Ubuntu 9.10 来说没有问题:hald 注意到了新设备,udev 将它们称为/dev/input/mouse4
...的全新条目mouse7
。
我的应用程序以普通用户应用程序的形式运行。其中的文件/dev
属于root
其他人,其他人无法读取。
我做一次没什么问题chmod a+r mouse?
,但是每次重启以及每次插入或拔出该死的啮齿动物时,设备就会出现和消失。
有人可以告诉我一个脚本或者某些可以操作的东西以便让它chmod
自动发生吗?
答案1
您可以阅读编写 udev 规则。我自己从未处理过这些事情,所以我现在无法给你一个彻底的解决方案,但我确信它在那份文件中。抱歉,RTFM 解决方案。希望其他人比我更有经验。
答案2
如果其他人遇到同样的问题,以下是我发现的情况:
作为 Debian,Ubuntu 将其大部分规则保留在 中/lib/udev/rules.d
。目录/etc/udev/rules.d
仅用于手动引入的例外情况;它们显然会覆盖 中的设置/lib/udev/rules.d
。
鼠标是 udev 处理的基本功能之一,我毫不惊讶地在 中找到了一些关于鼠标的设置lib/udev/rules.d/50-udev-default.rules
。我感兴趣的段落是:
# input
KERNEL=="mouse*|mice|event*", MODE="0640"
KERNEL=="ts[0-9]*|uinput", MODE="0640"
KERNEL=="js[0-9]*", MODE="0644"
我故意忽略了文件顶部的警告:
# do not edit this file, it will be overwritten on update
因为无论如何我都希望这个改变是暂时的。
我把第一个“640”改成了“644”,拔下并重新插上两个鼠标。然后,瞧,
crw-r----- 1 root root 13, 32 2009-11-16 19:14 mouse0
crw-r----- 1 root root 13, 33 2009-11-16 19:14 mouse1
crw-r--r-- 1 root root 13, 34 2009-11-16 21:58 mouse2
crw-r--r-- 1 root root 13, 35 2009-11-16 21:58 mouse3
mouse2
并mouse3
变得可供全世界阅读。任务完成!