4

CentOS 7 で Apple キーボードの fn キーを修正しようとして、設定しました

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

それでも再起動後

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

インターネット上の提案には、Centos 7 には存在しないように見える update-initramfs の実行、および /etc/rc.local で「echo 2 >> /sys/module/hid_apple/parameters/fnmode」の実行が含まれます。もちろんsystemdの下にはもう存在しません。

その設定を永続化する正しい方法は何ですか?

4

2 に答える 2

7

これを実現するには、次の 3 つの方法があります。

  1. rc.local (まだ動作します。行を追加した後に chmod +x を忘れずに)
  2. systemd
  3. 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/
于 2015-01-27T08:49:26.360 に答える