Weblog
KDE Login defekt, Fisch auf der Flucht
09.07.2026 4 Min. Lesezeit
Oder: Wie eine alternative Shell die Plasma-Session aus dem Tritt bringen kann.
Das Problem
Kürzlich bin ich über ein bemerkenswertes Phänomen auf einem frisch installierten und vollständig aktualisierten Slackware 15 System gestolpert.
Ein neu angelegter Benutzer konnte sich zwar erfolgreich über SDDM in KDE Plasma anmelden, landete anschließend jedoch lediglich vor einem schwarzen Bildschirm mit beweglichem Mauszeiger.
Zusätzlich erschien zunächst die Meldung:
No system tray detected on this system.
Unable to start, exiting.
Der erste Verdacht fiel schnell auf HPLIP, da genau diese Meldung regelmäßig vom Programm hp-systray erzeugt wird, wenn beim Start kein System Tray verfügbar ist.
Nach dem Deaktivieren des entsprechenden Autostarts verschwand die Fehlermeldung zwar, das eigentliche Problem blieb jedoch bestehen:
- Login erfolgreich
- Schwarzer Bildschirm
- Mauszeiger sichtbar
- Keine Panels
- Kein Desktop
- Keine Plasma-Oberfläche
Eine klassische Sackgasse.
Die erste Analyse
Ein Blick auf die laufenden Prozesse brachte einen interessanten Befund:
ps ax | egrep 'kwin|plasma'
Ergebnis: kwin_x11 läuft, plasmashell läuft nicht.
Damit war bereits eine wichtige Erkenntnis gewonnen.
Was bedeutet das?
KDE Plasma besteht aus mehreren Komponenten.
kwin_x11 ist der Fenstermanager. Er verwaltet Fenster, Compositing und die grafische Darstellung.
plasmashell hingegen liefert:
- den Desktop
- das Panel
- den System Tray
- Widgets
- den Hintergrund
Wenn kwin_x11 läuft, aber plasmashell fehlt, sieht der Anwender typischerweise genau das: Schwarzer Bildschirm, heller Mauszeiger, und gähnende Leere. Der grafische Unterbau funktioniert also, die eigentliche Plasma-Oberfläche wird jedoch nicht gestartet.
Ein wichtiger Test
Als betroffener Benutzer wurde anschließend einfach Folgendes ausgeführt:
plasmashell
Und siehe da: der Desktop erschien sofort.
Das ist ein extrem wertvoller Hinweis. Denn damit konnten wir mehrere Ursachen praktisch ausschließen:
- keine kaputte Plasma-Installation
- keine fehlenden Bibliotheken
- kein Grafiktreiberproblem
- kein Defekt in KDE selbst
plasmashell funktionierte schließlich einwandfrei.
Die Frage lautete nun:
Warum startet Plasma die Shell nicht automatisch?
Die überraschende Entdeckung
Zunächst wurden unterschiedliche Benutzer miteinander verglichen. Dabei fiel nur ein einziger Unterschied auf:
| Benutzer | Login-Shell |
|---|---|
| Funktionierender Benutzer | zsh |
| Problematischer Benutzer | fish |
Mehr Unterschiede gab es nicht.
Und plötzlich ergab alles Sinn.
Fish ist anders
Die Fish Shell gehört zu den angenehmsten modernen Shells überhaupt.
Sie bietet:
- intelligente Autovervollständigung
- eine hervorragende Standardkonfiguration
- Syntax-Hervorhebung
- komfortable Historienfunktionen
Allerdings verfolgt Fish einen besonderen Ansatz:
Fish ist bewusst nicht POSIX-kompatibel.
Während Bash, Zsh und Korn Shell weitgehend dieselben Shell-Konstrukte verstehen, besitzt Fish eine eigene Syntax.
Beispielsweise funktioniert dies in Bash und Zsh:
export PATH=$PATH:/opt/bin
In Fish dagegen:
set -x PATH $PATH /opt/bin
Viele Startskripte klassischer Unix-Software gehen jedoch davon aus, dass eine POSIX-kompatible Shell verwendet wird.
Und genau hier beginnt das Problem.
KDE Plasma und die Login-Shell
Beim Start einer Plasma-Sitzung werden zahlreiche Skripte ausgeführt.
Diese initialisieren unter anderem:
- Umgebungsvariablen
- D-Bus
- XDG-Komponenten
- Autostart-Dienste
- Plasma-Module
In vielen Distributionen wird dieser Prozess durch zusätzliche Patches abgesichert. Slackware verfolgt dagegen traditionell einen sehr schlanken und unveränderten Ansatz. Dadurch treten Inkompatibilitäten oftmals deutlicher zutage als bei anderen Distributionen.
Offenbar stolperte in diesem Fall ein Teil des Plasma-Starts über die Fish-Shell als Login-Shell.
Das Ergebnis:
- kwin_x11 startet
- plasmashell startet nicht
Der Desktop bleibt schwarz.
Die Lösung
Zum Test wurde die Login-Shell des Benutzers auf Bash oder Zsh umgestellt:
chsh -s /bin/zsh user
oder
chsh -s /bin/bash user
Nach erneuter Anmeldung startete Plasma sofort korrekt.
Problem gelöst.
Fish trotzdem verwenden
Natürlich möchte man deshalb nicht auf Fish verzichten.
Die bewährte Lösung besteht darin, Fish nicht als Login-Shell, sondern lediglich als interaktive Arbeits-Shell zu verwenden.
Die Login-Shell bleibt beispielsweise Zsh:
chsh -s /bin/zsh user
In der .zshrc kann anschließend automatisch Fish gestartet werden:
if command -v fish >/dev/null 2>&1; then
exec fish
fi
Damit erhält man:
- eine vollständig kompatible KDE-Sitzung
- weiterhin die komfortable Fish-Shell
- keine Überraschungen beim Desktop-Start
Warum die HPLIP-Meldung irreführend war
Besonders interessant war die ursprüngliche Fehlermeldung:
No system tray detected on this system.
Unable to start, exiting.
Diese lenkte die Fehlersuche zunächst in Richtung System Tray.
Tatsächlich war sie lediglich ein Symptom.
Da plasmashell nie gestartet wurde, existierte auch kein System Tray. HPLIP bemerkte das und verabschiedete sich mit einer Fehlermeldung. Die eigentliche Ursache lag jedoch deutlich früher im Startprozess der Plasma-Sitzung.
Fazit
Die Ursache war weder KDE noch SDDM, noch ein Grafiktreiber oder ein beschädigtes Benutzerprofil.
Der Fehler entstand durch eine ungewöhnliche Kombination aus:
- Slackware 15
- KDE Plasma
- Fish als Login-Shell
Ein einziger Prozess fehlte:
plasmashell
Dadurch entstand ein schwarzer Desktop mit Cursor, während der Fenstermanager bereits aktiv war.
Die wichtigste Erkenntnis aus diesem Vorfall:
Wenn KDE Plasma nur einen schwarzen Bildschirm mit Mauszeiger zeigt, lohnt sich ein Blick auf die Login-Shell des Benutzers.
Manchmal liegt die Ursache nicht im Grafiksystem, nicht in Plasma und nicht in der Konfiguration – sondern schlicht darin, dass ein Stück Software erwartet, mit einer klassischen Unix-Shell zu sprechen, während auf der anderen Seite bereits ein moderner Fisch schwimmt.