Kev*_* G. 3 linux centos systemd
我试着在CentOS 7上修复苹果键盘上的fn键
$ cat /etc/modprobe.d/hid_apple.conf
options hid_apple fnmode=2
Run Code Online (Sandbox Code Playgroud)
然而在重启之后
$ cat /sys/module/hid_apple/parameters/fnmode
1
Run Code Online (Sandbox Code Playgroud)
互联网上的建议包括运行update-initramfs,这在Centos 7上似乎不存在,并在/etc/rc.local中执行"echo 2 >>/sys/module/hid_apple/parameters/fnmode",其中在systemd下,课程根本不存在.
什么是坚持这种设置的正确方法?
小智 7
有三种方法可以实现这一目标:
使用systemd:
# /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
Run Code Online (Sandbox Code Playgroud)
接下来是使服务在启动时运行.
sudo systemctl enable hid_apple_fnmode_set.service
Run Code Online (Sandbox Code Playgroud)
使用udev规则:
# /etc/udev/rules.d/99-hid_apple.rules
SUBSYSTEM=="module", DRIVER=="hid_apple", ATTR{parameters/fnmode}="2"
Run Code Online (Sandbox Code Playgroud)
systemd脚本和udev规则与一些疯狂的猜测放在一起,可能需要一些调整才能工作.以下命令可以帮助调整和调试udev规则:
udevadm info --attribute-walk --path=/module/hid_apple
udevadm test /sys/module/hid_apple/
Run Code Online (Sandbox Code Playgroud)