Das Problem

Wer unter Linux zwischen dem Fenstermanager niri und KDE Plasma wechselt, erlebt mit Brave (und anderen Chromium-Browsern) eine unangenehme Überraschung: Nach jedem Wechsel sind alle gespeicherten Passwörter, Cookies und Anmeldungen weg. Der Browser wirkt wie frisch installiert.

Unter Plasma fragt KWallet außerdem ständig nach seinem Passwort.

Getestete Umgebung: CachyOS, Login-Manager greetd, niri und KDE Plasma 6, Brave.

Die Ursache

Brave verschlüsselt Passwörter und Cookies. Den Schlüssel dazu legt der Browser in einem Schlüsselbund ab, und welchen er nimmt, hängt von der Desktop-Umgebung ab:

  • unter Plasma in KWallet
  • unter niri im gnome-keyring

Nach einem Wechsel findet Brave seinen Schlüssel nicht mehr, kann nichts entschlüsseln und fängt von vorn an.

Dazu kommt: KWallet kann sich in Plasma 6 selbst als Secret Service ausgeben. Selbst wenn man Brave auf gnome-keyring festlegt, antwortet unter Plasma also weiter KWallet.

Die Passwortabfrage von KWallet hat einen eigenen Grund. Der Login-Manager greetd entsperrt nur gnome-keyring automatisch, KWallet aber nicht.

Die Lösung

Brave soll in beiden Sitzungen immer gnome-keyring benutzen, und KWallet wird abgeschaltet. gnome-keyring passt gut, weil greetd ihn beim Anmelden schon automatisch entsperrt.

1. Brave auf gnome-keyring festlegen

Die Datei ~/.config/brave-flags.conf anlegen (es gibt sie standardmäßig nicht) und diese Zeile eintragen:

--password-store=gnome-libsecret

Unter Arch-basierten Systemen wie CachyOS liest das Brave-Startskript diese Datei automatisch ein.

2. KWallet abschalten

In ~/.config/kwalletrc die Zeile Enabled=false und den Abschnitt [org.freedesktop.secrets] ergänzen:

[Wallet]
First Use=false
Enabled=false

[org.freedesktop.secrets]
apiEnabled=false

3. Abmelden, anmelden, prüfen

Nach dem erneuten Anmelden zeigt brave://version in der Befehlszeile den Parameter --password-store=gnome-libsecret. Ob jetzt gnome-keyring antwortet, verrät dieser Befehl:

busctl --user list | grep secrets

Bei org.freedesktop.secrets muss gnome-keyring-d stehen.

Ergebnis und Hinweise

Passwörter und Cookies bleiben jetzt erhalten, ob man niri oder Plasma startet, und KWallet fragt nicht mehr nach dem Passwort.

  • Beim ersten Start nach der Umstellung kann noch einmal etwas fehlen, was nur im alten Schlüsselbund lag.
  • Rote gkr-pam-Meldungen im greetd-Log wie couldn't unlock the login keyring für den Benutzer greeter oder unable to locate daemon control file sind harmlos. Entscheidend ist unlocked login keyring für den eigenen Benutzer.
  • Ist KWallet abgeschaltet, können KDE-Programme darin nichts mehr speichern, zum Beispiel WLAN-Passwörter. Bei einer Kabelverbindung spielt das keine Rolle.