有 3 种方法可以实现这一目标:
- rc.local (仍然有效,添加行后记得 chmod +x)
- 系统
- udev 规则(我自己的首选)
使用系统:
# /etc/systemd/system/hid_apple_fnmode_set.service
[Unit]
Description=Set Apple keyboard fn mode
After=multi-user.target
[Service]
ExecStart=/usr/bin/bash -c '/usr/bin/echo 2 > /sys/module/hid_apple/parameters/fnmode'
[Install]
WantedBy=graphical.target
其次是使服务在启动时运行。
sudo systemctl enable hid_apple_fnmode_set.service
使用 udev 规则:
# /etc/udev/rules.d/99-hid_apple.rules
SUBSYSTEM=="module", DRIVER=="hid_apple", ATTR{parameters/fnmode}="2"
systemd 脚本和 udev 规则与一些疯狂的猜测放在一起,可能需要一些调整才能工作。以下命令可以帮助调整和调试 udev 规则:
udevadm info --attribute-walk --path=/module/hid_apple
udevadm test /sys/module/hid_apple/