Licht an! - Bildschirmhelligkeit direkt in Linux steuern

  Lucas P   Lesezeit: ~1 Minute  🗪 10 Kommentare Auf Mastodon ansehen

Neulich ist mir aufgefallen, dass ich unter Linux die Helligkeit meines externen Monitors einfach über die Systemeinstellungen regeln kann – eine Funktion die ich bisher nicht kannte.

licht an! - bildschirmhelligkeit direkt in linux steuern

Viele langjährige Linux-Benutzer werden bei diesem Artikel sicher denken:

Was? das ist doch Standard!

Mir ist das Ganze erst vor Kurzem aufgefallen, als ich im Homeoffice saß und die Sonne unterging. Im Raum wurde es langsam dunkler und auch mein Notebook senkte die Bildschirmhelligkeit – bis hierhin alles normal für mich. Aber dann senkte auch mein externer Monitor seine Helligkeit, passend zum Notebook, ein Szenario, welches ich bisher noch nicht kannte. Das Ganze hat mich dann neugierig gemacht. Ist mein Monitor defekt? Ist der plötzlich smart?

Was ist passiert?

Passiert ist, dass mein Notebook über HDMI die direkte Helligkeit des Monitors gesteuert hat. Das ganze passiert über "DDC/CI", kurz für "Display Data Channel/Command Interface". Darüber können Geräte direkt mit dem jeweiligen Display kommunizieren und Einstellungen vornehmen, welche sonst nur am Monitor selbst anzupassen sind.

Das gibt's doch schon lange!

Ja, den DDC/CI Standard gibt es schon seit 1998. Auch unter Windows und MacOS. Bei beiden sind aber immer externe Tools notwendig, wodurch es viele wahrscheinlich nicht wissen.

Hier unter KDE sind die Einstellungen direkt in den systemeigenen Helligkeitseinstellungen zu finden, was das Ganze erst wirklich sinnvoll macht. Wer will schon in 2 Menüs zum Einstellen der Helligkeit?

Fazit

Einfach eine nette Funktion, welche sicher nicht alle kennen.  Macht das Leben einfach ein wenig angenehmer.

Quellen:

Hauptbild - Pexels

Wikipedia

Tags

kde, KDE-Desktop, Monitor

Rüdiger
Geschrieben von Rüdiger am 6. November 2025 um 09:29

Mal eine doofe Frage: Ist das alles unter Wayland? Bei mir gibt es die oberen beiden Punkte in den Einstellungen unter Wayland überhaupt nicht 🤔

Lucas P
Geschrieben von Lucas P am 7. November 2025 um 08:37

Ja KDE Neon mit Wayland

spriggins
Geschrieben von spriggins am 6. November 2025 um 12:17

> Bei beiden sind aber immer externe Tools notwendig, wodurch es viele wahrscheinlich nicht wissen.

Nein, bei Windows 11 geht das hier auch über das Systemmenü oder direkt im Tray oder über die Fn-Tasten (wenn die Tastatur dies unterstützt), und es gibt auch ein powershell-Modul, dass man installieren kann (so wie man dccutils installieren muss). Und natürlich gibt es auch eine automatische Helligkeitsanpassung.

Lucas P
Geschrieben von Lucas P am 7. November 2025 um 08:41

Dann kommt diese Integration sicher von einer Zusatzsoftware (Grafikkartentreiber etc.). Denn Windows hat Nativ keine Unterstützung dafür.

Zudem wird oft verwechselt, wie die Helligkeit reduziert wird. Man kann einmal das Eingangsbild reduzieren, der Monitor selbst bleibt aber auf 100%, das Bild wird nur dunkler dargestellt. Oder dem Monitor wird gesagt "Stell deine eigene Helligkeit auf 50%". Und ja am Ende wird das immer durch irgend eine Software gemacht, die installiert ist. Hier unter KDE war sie eben einfach dabei.

Petra
Geschrieben von Petra am 6. November 2025 um 12:23

Moin zusammen, für Nicht-KDEler geht das auch "quick and dirty" per bash-Skript. Hier der entsprechende Ausschnitt aus meinem Skript: ` --setMonitorBrightness ) S=$(xrandr --current | grep -w connected | cut -d " " -f 1) B=$(xrandr --current --verbose | grep -i brightness | cut -d ' ' -f 2) case $B in 1.0 ) cB="100%" ;; 0.90 ) cB="90%" ;; 0.80 ) cB="80%" ;; 0.70 ) cB="70%" ;; 0.60 ) cB="60%" ;; 0.50 ) cB="50%" ;; 0.40 ) cB="40%" ;;

  • ) cB="$B" ;; esac if [ pgrep -cf "zenity --title currentDIM" -eq 1 ] ; then exit ;fi wB=$(zenity --title "currentDIM: $cB" --list --text=" " --column=" " \ $(echo -e " 80%\n·\n 100%\n 90%\n 80%·normal\n 70%·sonnig\n 60%\n 50%\n 40%\n")) if [ $? -ne 0 ] ; then H=0.8 ; fi
    case $wB in 100% ) H=1.0 ;; 90% ) H=0.9 ;; 80% ) H=0.8 ;; 70% ) H=0.7 ;; 60% ) H=0.6 ;; 50% ) H=0.5 ;; *40% ) H=0.4 ;;
  • ) H=0.8 ;; esac xrandr --output $S --brightness $H exit
    ;;`

Danke für die für die vielen Anregungen an alle Schreiber und Kommentatoren.

Tinkerer
Geschrieben von Tinkerer am 20. November 2025 um 23:02

Ja, ist ein wenig tricky, aber so ist es lesbar. :)

'#!/bin/bash

S=$(xrandr --current | grep -w connected | cut -d " " -f 1)

B=$(xrandr --current --verbose | grep -i brightness | cut -d ' ' -f 2)

case $B in

1.0 ) cB="100%" ;; 
0.90 ) cB="90%" ;; 
0.80 ) cB="80%" ;; 
0.70 ) cB="70%" ;; 
0.60 ) cB="60%" ;; 
0.50 ) cB="50%" ;; 
0.40 ) cB="40%" ;;
- ) cB="$B" ;;

esac

if [ pgrep -cf 'zenity --title currentDIM' -eq 1 ] ; then exit ; fi

wB=$(zenity --title "currentDIM: $cB" --list --text=" " --column=" " \ $(echo -e " 80%\n·\n 100%\n 90%\n 80%·normal\n 70%·sonnig\n 60%\n 50%\n 40%\n"))

if [ $? -ne 0 ] ; then H=0.8 ; fi

case $wB in

100% ) H=1.0 ;; 
90% ) H=0.9 ;; 
80% ) H=0.8 ;; 
70% ) H=0.7 ;; 
60% ) H=0.6 ;; 
50% ) H=0.5 ;; 
*40% ) H=0.4 ;;
- ) H=0.8 ;;

esac

xrandr --output $S --brightness $H

exit ;;'

Peter
Geschrieben von Peter am 6. November 2025 um 12:58

Unter Gnome geht das mit Luminance (https://github.com/sidevesh/Luminance?tab=readme-ov-file) oder über eine Extension (https://gitlab.com/bruno.englert/gnome-extension-brightness oder https://github.com/daitj/gnome-display-brightness-ddcutil). Ist aber alles kein wesentlicher Gewinn bei mir - mein externer Monitor hat Knöpfe. Die stellen das genauso ein wie der virtuelle Schieber auf dem Desktop. Aber schön, wenn man die Wahl hat.

Christopher
Geschrieben von Christopher am 6. November 2025 um 17:40

Super interessant. Weiß wer ob es das für GNOME auch so gibt?

Petra
Geschrieben von Petra am 7. November 2025 um 12:08

nochmal als Text statt Code: --setMonitorBrightness ) S=$(xrandr --current | grep -w connected |cut -d " " -f 1) B=$(xrandr --current --verbose | grep -i brightness | cut -d ' ' -f 2) case $B in 1.0 ) cB="100%" ;; 0.90 ) cB="90%" ;; 0.80 ) cB="80%" ;; 0.70 ) cB="70%" ;; 0.60 ) cB="60%" ;; 0.50 ) cB="50%" ;; 0.40 ) cB="40%" ;;

  • ) cB="$B" ;; esac if [ pgrep -cf "zenity --title currentDIM" -eq 1 ] ; then exit ;fi wB=$(zenity --title "currentDIM: $cB" --list --text=" " --column=" " \ $(echo -e " 80%\n·\n 100%\n 90%\n 80%·normal\n 70%·sonnig\n 60%\n 50%\n 40%\n")) if [ $? -ne 0 ] ; then H=0.8 ; fi
    case $wB in 100% ) H=1.0 ;; 90% ) H=0.9 ;; 80% ) H=0.8 ;; 70% ) H=0.7 ;; 60% ) H=0.6 ;; 50% ) H=0.5 ;; *40% ) H=0.4 ;;
  • ) H=0.8 ;; esac xrandr --output $S --brightness $H exit
    ;;

p.s. ich benutze noch X11

Petra
Geschrieben von Petra am 7. November 2025 um 12:09

sorry, aber es wird nicht besser