
搜尋我發現這個問題這解釋瞭如何啟動功能鍵,只是更改似乎不是永久性的。
每次啟動時文件的內容/sys/module/hid_apple/parameters/fnmode
都會回到3。
為什麼3?允許的參數不在範圍內嗎0-2?
如何才能永久更改文件/sys/module/hid_apple/parameters/fnmode
?
答案1
為什麼是3?允許的參數不是在 0-2 範圍內嗎?
不,該選項3
是在 2022 年為 Linux 5.18 添加的,而您正在閱讀的文檔似乎是在 2012 年左右更新的。
$ modinfo hid-apple
parm: fnmode:Mode of fn key on Apple keyboards (0 = disabled,
1 = fkeyslast, 2 = fkeysfirst, [3] = auto) (uint)
如何永久更改 /sys/module/hid_apple/parameters/fnmode 檔案?
它是一個模組參數,因此您可以 a) 透過 modprobe 或 b) 核心命令列配置它。
當透過 modprobe 載入模組時,將從以下檔案讀取其參數
/etc/modprobe.d
(請參閱man modprobe.d
手冊頁):options hid-apple fnmode=2
不要忘記重新運行
mkinitcpio -P
以將檔案複製到 initramfs 中(因為這很可能是在模組實際載入時發生的)。預設參數也可以透過內核命令列(透過 GRUB 等)指定:
linux root=... rw hid_apple.fnmode=2
(至少,我認為這應該有效。)
答案2
這不是最佳解決方案,但現在我已經這樣做了:
建立systemd服務文件:使用
nano
具有超級使用者權限的文字編輯器建立新的 systemd 服務檔案。運行的命令是sudo nano /etc/systemd/system/fnmode.service.
填充服務文件:服務文件需要填入以下 systemd 指令:
[Unit] Description=Set hid_apple fnmode [Service] Type=oneshot ExecStart=/bin/bash -c 'echo 2 > /sys/module/hid_apple/parameters/fnmode' [Install] WantedBy=multi-user.target
啟用systemd服務:需要啟用 systemd 服務才能在系統啟動時啟動。這可以透過命令來完成
sudo systemctl enable fnmode
。啟動systemd服務:最後,systemd服務可以立即啟動,無需重新啟動系統。這可以透過命令來完成
sudo systemctl start fnmode
。