阻止 udev 处理设备的规则

阻止 udev 处理设备的规则

在 Ubuntu 20.04 上,我修改/usr/lib/udev/rules.d/60-evdev.rules如下,因为我不想让 udev 触摸我的原始键盘设备:

# do not edit this file, it will be overwritten on update

ACTION=="remove", GOTO="evdev_end"
KERNEL!="event*", GOTO="evdev_end"

ATTRS{name}=="AT Raw Set 2 keyboard", GOTO="evdev_end"

[...]

LABEL="evdev_end"

这可行,但我担心“不要编辑此文件”行。我想要一种更干净的方式来做同样的事情。我尝试将此行移动到名为 的文件中/etc/udev/rules.d/01-atkbdraw.rules,但这会导致以下错误:GOTO="evdev_end" has no matching label, ignoring

我还尝试使用 := 运算符,如下所示:

ATTRS{name}=="AT Raw Set 2 keyboard", RUN:="/bin/true"

但这不起作用,我认为它只会影响“RUN”键,并且不会完全停止进一步处理。

我看到有一个名为last_rule的选项,它似乎正是我所需要的,但它在版本147中被删除了。

有没有一种方法可以让我在不编辑的情况下做我想做的事情/usr/lib/udev/rules.d/60-evdev.rules

答案1

复制/usr/lib/udev/rules.d/60-evdev.rules/etc/udev/rules.d/60-evdev.rules。只要保持相同的文件名,它就会被覆盖。检查man udev文件夹优先级。

该注释位于 中/usr/lib/udev/rules.d/60-evdev.rules,因为该文件夹中的文件是已安装软件包的一部分,它们可能会被更新覆盖。

答案2

GOTO="evdev_end"是错的 !!没有与文件名匹配。

必须GOTO="atkbdraw_end"用于您的文件01-atkbdraw.rules

相关内容