
Beim Suchen fand ichDiese Fragedort wird erklärt, wie man Funktionstasten aktiviert, nur scheinen die Änderungen nicht dauerhaft zu sein.
bei jedem Start wird der Inhalt der Datei /sys/module/hid_apple/parameters/fnmode
zurückgesetzt auf3.
Warum3? liegen die erlaubten Parameter nicht nur im Bereich0-2?
Wie kann ich Änderungen an der /sys/module/hid_apple/parameters/fnmode
Datei dauerhaft machen?
Antwort1
Warum 3? Liegen die zulässigen Parameter nicht einfach im Bereich von 0 bis 2?
Nein, die Option 3
wurde 2022 für Linux 5.18 hinzugefügt, während die Dokumentation, die Sie lesen, zuletzt im Jahr 2012 aktualisiert worden zu sein scheint.
$ modinfo hid-apple
parm: fnmode:Mode of fn key on Apple keyboards (0 = disabled,
1 = fkeyslast, 2 = fkeysfirst, [3] = auto) (uint)
Wie kann ich Änderungen an der Datei /sys/module/hid_apple/parameters/fnmode dauerhaft machen?
Es handelt sich um einen Modulparameter, Sie können ihn also a) über Modprobe oder b) über die Kernel-Befehlszeile konfigurieren.
Wenn Module über modprobe geladen werden, werden ihre Parameter aus Dateien in gelesen
/etc/modprobe.d
(sieheman modprobe.d
Manualpage):options hid-apple fnmode=2
Vergessen Sie nicht, die Datei erneut auszuführen
mkinitcpio -P
, um sie in das Initramfs zu kopieren (da dies höchstwahrscheinlich der Zeitpunkt ist, an dem das Modul tatsächlich geladen wird).Standardparameter können auch über die Kernel-Befehlszeile angegeben werden (über GRUB oder ähnliches):
linux root=... rw hid_apple.fnmode=2
(Zumindest denke ich, dass das funktionieren sollte.)
Antwort2
Es ist nicht die optimale Lösung, aber im Moment habe ich Folgendes gemacht:
Erstellen der systemd-Servicedatei:Verwenden Sie den
nano
Texteditor mit Superuser-Rechten, um eine neue systemd-Dienstdatei zu erstellen. Der auszuführende Befehl lautetsudo nano /etc/systemd/system/fnmode.service.
Auffüllen der Servicedatei:Die Servicedatei muss mit den folgenden systemd-Direktiven gefüllt werden:
[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
Aktivieren des systemd-Dienstes:Der systemd-Dienst muss für den Start beim Systemstart aktiviert werden. Dies kann mit dem Befehl erfolgen
sudo systemctl enable fnmode
.Starten des systemd-Dienstes:Schließlich kann der systemd-Dienst sofort gestartet werden, ohne dass das System neu gestartet werden muss. Dies ist mit dem Befehl möglich
sudo systemctl start fnmode
.