In diesem Artikel
Eine Benachrichtigung sollte sichtbar und verständlich sein, ohne den ganzen Desktop zu überdecken. Dunst ist ein schlanker Benachrichtigungsdienst, der besonders gut zu selbst zusammengestellten Linux-Desktops passt. Seine Einstellungen liegen in einer lokalen Textdatei.
Im Cthulhu-Repository liegt meine dunstrc. Diese Datei ist der Ausgangspunkt des Artikels. Sie belegt eine veröffentlichte Konfiguration, aber nicht, dass Dunst in jeder meiner aktuellen Sitzungen der aktive Dienst ist: Ein vollständiger Desktop wie Plasma bringt seine eigene Benachrichtigungsverwaltung mit.
Wer zeigt eine Benachrichtigung an?
Eine Anwendung sendet eine Nachricht über den Sitzungsbus an den zuständigen Benachrichtigungsdienst. Dunst zeichnet das Fenster, legt Darstellung und Regeln fest und kann Mitteilungen später wieder anzeigen. Der Browser oder Messenger bleibt für den Inhalt verantwortlich.
Prüfe vor dem Test, ob du tatsächlich Dunst verwendest:
dunstctl debug
Der Befehl versucht, Dunst zu erreichen und typische Verbindungsprobleme zu erkennen. Wenn ein anderer Dienst zuständig ist, solltest du nicht einfach zusätzlich Dunst starten und den bestehenden Desktop-Dienst verdrängen. Die folgende Übung setzt eine laufende Dunst-Sitzung voraus. Für die Einrichtung eines neuen Dienstes sind der Startmechanismus deines Desktops und die Paketdokumentation maßgeblich.
Die Abschnitte meiner Datei lesen
Mein globaler Abschnitt lautet:
[global]
frame_color = "#8aadf4"
separator_color = "#8aadf4"
font = JetBrainsMono Nerd Font 10
corner_radius = 8
[global] enthält allgemeine Vorgaben. Die Rahmen- und Trennfarbe ist ein helles Blau; die Schrift wird als Familienname und Größe angegeben. Runde Ecken betreffen die Darstellung des Benachrichtigungsfensters.
Darunter stehen drei Dringlichkeitsabschnitte. Mein normaler Hintergrund ist dunkel, die kritische Stufe rosa mit dunklem Text. Diese Farben sind eine andere Gestaltung als die Gruvbox-Palette meines X1-Gruvnode-Profils.
| Abschnitt | Verwendung |
|---|---|
[urgency_low] |
Weniger dringliche Mitteilungen |
[urgency_normal] |
Gewöhnliche Mitteilungen |
[urgency_critical] |
Kritische Mitteilungen |
Die sendende Anwendung bestimmt zunächst die Dringlichkeit. Farbe allein erkennt also nicht zuverlässig die Bedeutung einer Nachricht. Mein veröffentlichter Ausschnitt enthält noch keine persönlichen Positions-, Timeout- oder App-Regeln; die folgenden Ergänzungen sind eigene Lernbeispiele.
Eine separate Übungsdatei anlegen
Erstelle einen neuen Ordner:
mkdir -p ~/dunst-tutorial
Speichere diese Datei als ~/dunst-tutorial/dunstrc. Die Offset-Schreibweise orientiert sich an aktuellen Dunst-Versionen; bei älteren Versionen prüfst du das mitgelieferte Handbuch:
[global]
font = monospace 11
origin = top-right
offset = (20, 40)
width = 320
frame_width = 2
frame_color = "#8aadf4"
corner_radius = 8
[urgency_low]
background = "#181926"
foreground = "#cad3f5"
timeout = 4s
[urgency_normal]
background = "#1e2030"
foreground = "#cad3f5"
timeout = 8s
[urgency_critical]
background = "#ed8796"
foreground = "#181926"
timeout = 0
Eine aktuelle laufende Instanz kann ausdrücklich diese Datei laden:
dunstctl reload ~/dunst-tutorial/dunstrc
Dadurch ändern sich vorübergehend auch echte Benachrichtigungen dieser Sitzung. Die reguläre Datei wird nicht überschrieben. Um zu den beim ursprünglichen Dunst-Start gewählten Dateien zurückzukehren, verwendest du später dunstctl reload ohne Dateinamen.
Position und Timeout praktisch testen
Sende eine normale Übungsmeldung mit notify-send, das beispielsweise über das libnotify-Paket erhältlich ist:
notify-send --app-name=DunstTutorial --urgency=normal "Dunst-Test" "Position und Lesbarkeit prüfen"
Die Meldung sollte oben rechts erscheinen, mit Abstand zum Rand. origin wählt den Bezugspunkt; offset verschiebt die Fläche von dort. Passe zuerst nur den vertikalen Wert an und lade die Datei erneut.
timeout beschreibt die gewünschte Anzeigedauer. Anwendungen können eigene Timeout-Vorgaben senden; Regeln und Dunst-Einstellungen beeinflussen, welche Vorgabe gilt. Mit timeout = 0 bleibt eine Meldung nach Dunsts Einstellung stehen, bis sie geschlossen wird. Teste die kritische Stufe separat:
notify-send --app-name=DunstTutorial --urgency=critical "Dunst-Test" "Diese Übungsmeldung bewusst schließen"
Schließe die Meldung über die verfügbaren Dunst-Bedienelemente oder per:
dunstctl close
Eine Regel nur für den Testnamen
Ergänze am Dateiende einen benannten Abschnitt:
[tutorial]
appname = DunstTutorial
background = "#285577"
foreground = "#ffffff"
Nach dem Reload betrifft diese Farbe nur Nachrichten mit dem gezeigten App-Namen. Sende die normale Testmeldung erneut und vergleiche. Mehrere Filter in einer Regel müssen zusammen passen; Reihenfolge und spätere Regeln können das Ergebnis verändern.
Für echte Anwendungen ist ein stabiler desktop_entry-Filter oft geeigneter als ein übersetzbarer App-Name. Die Übung benutzt bewusst einen selbst gesetzten Namen, damit du den Zusammenhang kontrollieren kannst. Übernimm nicht unbesehen den sichtbaren Fenstertitel eines Messengers als vermeintlichen Filterwert.
Fehler eingrenzen und zurückkehren
Kommt keine Meldung, prüfe zuerst dunstctl debug, die Pause-Einstellung und den zuständigen Dienst. Ein Timeout- oder Farbproblem beginnt dagegen bei der geladenen Datei und den Regeln. Unter Wayland stammen globale Tastenkürzel üblicherweise vom Compositor; eine alte X11-Shortcut-Zeile kann dort wirkungslos sein.
Der Rückweg zur ursprünglichen Konfiguration lautet:
dunstctl reload
Teste anschließend eine normale Meldung. Erst danach überträgst du gewünschte Werte mit deinem Editor in die reguläre Datei, üblicherweise ~/.config/dunst/dunstrc. Aktuelle Dunst-Versionen unterstützen auch Drop-ins; zusätzliche Dateien können Einstellungen überschreiben.
Datenschutz und Quellen
Benachrichtigungen können Namen, Nachrichteninhalte oder Einmalcodes enthalten. Auch ein lokal laufender Dienst macht einen geteilten Screenshot nicht automatisch unkritisch. Ergänzte Aktionen und Skripte verdienen dieselbe Prüfung wie Shell-Befehle; für das Tutorial sind keine solchen Erweiterungen nötig.
- Geprüfte Cthulhu-dunstrc.
- Dunst-Konfigurationsreferenz: Position, Dringlichkeit und Regeln.
- dunstctl-Handbuch: Reload und Steuerung.
- Dunst-Dateisuche: Basisdateien und Drop-ins.
Quellen und Konfiguration geprüft am 8. Oktober 2026.