Ich habe also ein Alienware 13 R3 mit OLED-Display und konnte zum ersten Mal die Helligkeit mit dem Befehl xrandr ändern. Das Problem war, dass OLED-Displays keine Hintergrundbeleuchtung haben, sodass ich die Helligkeit weder mit der Tastatur noch auf andere Weise ändern konnte. Nachdem ich nun weiß, dass ich sie ändern kann, möchte ich eine Tastenkombination festlegen, um die Helligkeit um beispielsweise 0,1 zu ändern. Ich habe diesen Befehl verwendet, um die Helligkeit zu ändern:
xrandr --output eDP-1-1 --brightness .5
Weiß jemand, welchen Befehl ich verwenden muss, um die Helligkeit nicht einzustellen, sondern um sie um einen bestimmten Wert zu erhöhen oder zu verringern, damit ich ein Makro daran binden kann? Vielen Dank im Voraus!
PS: Ich bin ein völliger Linux-Neuling, also seid bitte nicht zu streng mit mir :P
Antwort1
Kopieren Sie das folgende Bash-Skript in eine Datei namensbright
Markieren Sie es dann als ausführbar mitchmod a+x bright
Bash-Skript
#!/bin/bash
MON="DP-1-1" # Discover monitor name with: xrandr | grep " connected"
STEP=5 # Step Up/Down brightnes by: 5 = ".05", 10 = ".10", etc.
CurrBright=$( xrandr --verbose --current | grep ^"$MON" -A5 | tail -n1 )
CurrBright="${CurrBright##* }" # Get brightness level with decimal place
Left=${CurrBright%%"."*} # Extract left of decimal point
Right=${CurrBright#*"."} # Extract right of decimal point
MathBright="0"
[[ "$Left" != 0 && "$STEP" -lt 10 ]] && STEP=10 # > 1.0, only .1 works
[[ "$Left" != 0 ]] && MathBright="$Left"00 # 1.0 becomes "100"
[[ "${#Right}" -eq 1 ]] && Right="$Right"0 # 0.5 becomes "50"
MathBright=$(( MathBright + Right ))
[[ "$1" == "Up" || "$1" == "+" ]] && MathBright=$(( MathBright + STEP ))
[[ "$1" == "Down" || "$1" == "-" ]] && MathBright=$(( MathBright - STEP ))
[[ "${MathBright:0:1}" == "-" ]] && MathBright=0 # Negative not allowed
[[ "$MathBright" -gt 999 ]] && MathBright=999 # Can't go over 9.99
if [[ "${#MathBright}" -eq 3 ]] ; then
MathBright="$MathBright"000 # Pad with lots of zeros
CurrBright="${MathBright:0:1}.${MathBright:1:2}"
else
MathBright="$MathBright"000 # Pad with lots of zeros
CurrBright=".${MathBright:0:2}"
fi
xrandr --output "$MON" --brightness "$CurrBright" # Set new brightness
# Display current brightness
printf "Monitor $MON "
echo $( xrandr --verbose --current | grep ^"$MON" -A5 | tail -n1 )
- Ändern Sie
MON="DP-1-1"
den Namen Ihres Monitors, d. h.MON="HDMI-1"
- Ermitteln Sie Ihre Monitornamen mit
xrandr | grep " connected"
- Änderung
STEP=5
Ihres Schrittwertes, zBSTEP=2
ist weniger auffällig
Rufen Sie das Skript auf mit:
bright Up
oderbright +
um die Helligkeit schrittweise zu erhöhenbright Down
oderbright -
zur schrittweisen Verringerung der Helligkeitbright
(ohne Parameter), um die aktuelle Helligkeitsstufe abzurufen
Hoffentlich können die Bash-/Shell-Befehle zu Informationszwecken leicht gegoogelt werden. Wenn Sie jedoch Fragen haben, zögern Sie nicht, sie zu stellen :)
8 Minuten nach dem Posten der Antwort fiel mir ein, dass ich sie bc
für die Fließkomma-Mathematik hätte verwenden können und so ~10 Zeilen Code und eine Menge Zeit hätte einsparen können, die ich sonst für das Schreiben der 1,5 Stunden gebraucht hätte.zuckt mit den Schultern.