これを実現するには、次の 3 つの方法があります。
- 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/