udev
跳转到导航
跳转到搜索
编写规则
在网络设备接入时配置 IP 地址
获取设备信息:
udevadm info --attribute-walk /sys/class/net/usb0
匹配设备并执行命令。命令一定要使用绝对路径。
ACTION=="add", SUBSYSTEM=="net", ATTRS{serial}=="XXX", RUN+="/bin/sh -c 'ip a add 192.168.42.1/24 dev %k; sysctl net.ipv6.conf.%k.accept_ra_defrtr=0; ip l set %k up'"
给当前用户设备文件的权限:
SUBSYSTEM=="input", ATTRS{name}=="WH-1000XM2 (AVRCP)", TAG+="uaccess"
测试:
udevadm test /sys/class/net/usb0
重新加载规则并应用:
sudo udevadm control --reload-rules
sudo udevadm trigger
使用 hwdb 修改键位
通过位于 /etc/udev/hwdb.d
下的 .hwdb
文件来配置硬件数据库,从而更改扫描码(scancode)到键码(keycode)的映射。[1]
笔记本内建键盘:
evdev:atkbd:dmi:*
KEYBOARD_KEY_01=capslock # esc
KEYBOARD_KEY_3a=esc # capslock
KEYBOARD_KEY_b7=rightmeta # prtsc
KEYBOARD_KEY_c5=print # pause (Fn+P)
指定设备 ID 的 USB 键盘(设备 ID 在 v 和 p 后,分别是 vendor id 和 product id):
evdev:input:b*v0483p5100e*-*
KEYBOARD_KEY_70029=capslock # esc
KEYBOARD_KEY_70039=esc # capslock
其中,KEYBOARD_KEY_
后的数为 scancode 的十六进制,可由 evtest 程序取得。注意每一段设备匹配之间需要使用空行隔开。
设置好之后使用 systemd-hwdb update
命令更新,使用 udevadm trigger
来重新加载。
外部链接
- 用udev自动挂载usb设备
- 自动挂载u盘 - Sandy's Blog
- 使用 udev 解决小红点的移动速度问题
- Linux automatic user ACL management | -ENOTTY