+-
linux – 如何使sysfs更改持久化在centos 7(systemd)
我试着在CentOS 7上修复苹果键盘上的fn键

$cat /etc/modprobe.d/hid_apple.conf
options hid_apple fnmode=2

然而在重启之后

$cat /sys/module/hid_apple/parameters/fnmode
1

互联网上的建议包括运行update-initramfs,这在Centos 7上似乎不存在,并在/etc/rc.local中执行“echo 2>> / sys / module / hid_apple / parameters / fnmode”,在systemd下,这当然不存在了.

什么是坚持这种设置的正确方法?

最佳答案
有三种方法可以实现这一目标:

> rc.local(仍然有效,请记住在添加行后添加chmod x)
> systemd
> udev规则(我自己的首选)

使用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

接下来是使服务在启动时运行.

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/
点击查看更多相关文章

转载注明原文:linux – 如何使sysfs更改持久化在centos 7(systemd) - 乐贴网