So machen Sie die Aktivierung von Funktionstasten in Arch dauerhaft

So machen Sie die Aktivierung von Funktionstasten in Arch dauerhaft

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/fnmodezurückgesetzt auf3.

Warum3? liegen die erlaubten Parameter nicht nur im Bereich0-2?

Wie kann ich Änderungen an der /sys/module/hid_apple/parameters/fnmodeDatei dauerhaft machen?

Antwort1

Warum 3? Liegen die zulässigen Parameter nicht einfach im Bereich von 0 bis 2?

Nein, die Option 3wurde 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(siehe man modprobe.dManualpage):

    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:

  1. Erstellen der systemd-Servicedatei:Verwenden Sie den nanoTexteditor mit Superuser-Rechten, um eine neue systemd-Dienstdatei zu erstellen. Der auszuführende Befehl lautetsudo nano /etc/systemd/system/fnmode.service.

  2. 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
    
  3. 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.

  4. 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.

verwandte Informationen