Frage Wie ändert man die LCD-Helligkeit über die Befehlszeile (oder über das Skript)?


Um zu arbeiten Fehler # 1005495 (Ändern der LCD-Helligkeit über Hotkeys unmöglich), hätte ich gerne eine Kommandozeilenabfrage zum Erhöhen und eine zum Verringern der Helligkeit meines LCDs. Ich könnte dann jeder dieser Abfragen einen Hotkey zuordnen.

Das Problem ist: Ich weiß nicht, wie man die LCD-Helligkeit in der Befehlszeile erhöht und reduziert. Machst du?


137
2018-06-10 17:28


Ursprung


mögliches Duplikat von Die Helligkeit eines Lenovo-Laptops kann nicht geändert werden - Lekensteyn
Danke, Lekensteyn, aber es ist kein Duplikat seit lsmod | grep ^ i915 gibt mir keine Ausgabe (siehe akzeptierte Lösung). Ich suche immer noch nach einer Lösung. - user69748


Antworten:


Ein weiterer Weg, um dies zu tun, ist mit einem anderen neuen Programm namens xbacklight, öffnen Sie Ihr Terminal und geben Sie dies ein

sudo apt-get install xbacklight

dann tippe dies ein xbacklight -set 50 

Da 50 für Helligkeitsbereich steht, können wir es von 0 auf 100 bringen.

Sie können auch die Helligkeit vom gegenwärtigen Wert zum spezifizierten Niveau erhöhen und verringern. wie Sie erwähnten, wenn Sie 10% vom gegenwärtigen Wert der Helligkeit erhöhen möchten, dann können Sie dies geben

xbacklight -inc 10

und um 10% zu verringern können Sie dies geben

xbacklight -dec 10 

142
2018-06-11 05:28



Sieht aus wie ein wirklich einfacher Befehl, aber was ich brauche ist etwas wie xbacklight -increase 10 um die Helligkeit um 10 Prozent zu erhöhen. Ist das auch möglich? - user69748
Ja, du kannst. Das habe ich schon erwähnt. Du kannst das also mit xbacklight -inc 10 erreichen - Ten-Coin
Ok, jetzt ist es in deiner Antwort. Vielen Dank, ich werde es versuchen. - user69748
Das sieht wirklich einfach aus, aber leider funktioniert es nicht für mich. Die Helligkeit ändert sich einfach nicht, nicht mit -dec und nicht mit -set. Ich denke, ich muss hoffen, dass der Fehler bald behoben wird. Danke trotzdem. - user69748
Darüber hinaus gibt es eine Kurzschrift, die Sie verwenden können: xbacklight +10; xbacklight -10; xbacklight =50; - Fordi


Öffne dein Terminal und tippe dies ein

xrandr -q | grep " connected"

es gibt Ihnen die Ausgabe als LVDS1 verbunden 1680x1050 + 0 + 0 (normal links invertiert rechts x Achse y Achse) 331mm x 207mm 

Da steht LVDS1 für dein Display.

So, jetzt müssen Sie als tun

xrandr --output LVDS1 --brightness 0.5

dort steht 0,5 für helligkeit und es reicht von 0.0 bis 1.0. 0.0 -> Full black .so müssen Sie den gewünschten Helligkeitswert wählen.


132
2018-06-11 05:25



Danke für deine Antwort, aber was ich brauche, ist etwas wie xrandr --crease 10 um die Helligkeit um 10 Prozent zu erhöhen. Ist das auch möglich? - user69748
Dies scheint die Helligkeit auf Hardwareebene nicht zu verändern - erjoalgo
Schade, diese Antwort hat so viele Stimmen bekommen. Mein Laptop-Bildschirm "emuliert" die Dunkelheit sozusagen, indem er die Dinge dunkler erscheinen lässt (so wie wenn Sie ein Video mit einer Nachtszene abspielen, das nichts mit der Bildschirmhelligkeit zu tun hat, sondern mit Pixeln, die das Hintergrundlicht maskieren). Die Helligkeit ist genau gleich und verschwendet aufgrund der Pixel noch mehr Akku als zuvor, denn jetzt sind sie dunkler. - Mephisto
Danke, dass es meinen Tag und meine Augen gerettet hat :) - Shylendra Madda
Es täuscht die Helligkeit vor. Die Helligkeit ändert sich nicht, sie wird von der Software wiedergegeben. - user1970939


Folgendes funktioniert für mich:

echo 400 > /sys/class/backlight/intel_backlight/brightness

Ich denke, der maximal mögliche Wert ist in der /sys/class/backlight/intel_backlight/max_brightness Datei.


80
2018-05-19 09:51



@Ray Versuchen Sie Folgendes: echo 400 | sudo tee /sys/class/backlight/intel_backlight/brightness. - Mygod
@Ray wenn du es tust sudo echo 400 > /sys/class . .. ./brightness Die Umleitung erfolgt über die Shell, nicht über das Echo. Und Shell läuft immer noch als normaler Benutzer, nicht als Sudo. Deshalb gibt es die Erlaubnis verweigert. Sie müssen ein Dienstprogramm haben, das in Datei mit root-Berechtigungen schreibt, weshalb tee funktioniert. - Sergiy Kolodyazhnyy
echo 400 | sudo tee /sys/class/backlight/radeon_bl0/brightness für Radeon APUs und Karten - Suici Doga
Das ist lächerlich niedrig, scheint aber das Einzige zu sein, das zuverlässig funktioniert. Es wird ein bisschen weniger hässlich, wenn Sie sudo chmod 0646 das brightness Datei, so sudo wird nicht mehr benötigt, um die Helligkeit einzustellen. - leftaroundabout
Der Grund, dass dies auf su-Berechtigungen gesetzt ist, ist, dass ein Virus möglicherweise Ihren Bildschirm verdunkeln und mit unglaublicher Geschwindigkeit hell werden könnte, was letztendlich Ihre Hardware-Anzeige beschädigen würde. In den 90er Jahren stieß ich auf einen Virus, der die Bildschirmanzeige Hertz so schnell anpassen würde, dass dein Monitor braten würde. Seien Sie also vorsichtig, wenn Sie die Berechtigungen dafür optimieren. - RyanNerd


Für Laptops,
sudo setpci -s 00:02.0 F4.B=80

Veränderung 80 durch [0-FF] um die niedrigste Helligkeit zu erhalten. Der angegebene Wert ist in Hex, also 80 wird dir einen geben 50% von maximaler Helligkeit.

Für Desktops [nicht von mir getestet],
xgamma -gamma .75


12
2018-06-10 17:37



Danke für deine Antwort, aber was ich brauche ist etwas wie setpci --crease 10 um die Helligkeit um 10 Prozent zu erhöhen. Ist das auch möglich? - user69748
Danke für diese Antwort, es ist gut zu wissen, wie die Dinge auf den unteren Ebenen gemacht werden - erjoalgo
Dies war die einzige Antwort, die für mich auf einem Samsung NB30 Plus funktionierte. - OSE
Ich kann das anscheinend nicht zur Arbeit bringen. Sollte ich vielleicht einige Parameter ändern, und wenn ja, wie finde ich die passenden Werte? - Rasmus
Danke, ich bin auf einem Laptop, setpci hat nicht funktioniert aber xgamma hat getan. - Philip Kirkbride


Versuchen Sie es im Terminal:

xrandr --output LVDS1 --brightness 0.9

Sie können den letzten Wert beliebig ändern, z. 0.2


5
2017-09-22 22:12



1) Der Ausgang ist nicht immer LVDS1, aber der Benutzer kann es mit xrandr --verbose herausfinden 2) Ändert die Intensität der Hintergrundbeleuchtung nicht - erjoalgo


Hier ist eine kurze Zeile, die Ihnen helfen kann, Ihre Augen zu entspannen. Erstellen Sie einfach ein Crontaab mit der Linie oder erstellen Sie ein Skript

xrandr --output VGA1 --brightness 0.5; sleep 20; xrandr --output VGA1 --brightness 1

3
2018-03-07 20:32





Mach dieses Skript:

set-brightness.sh

#!/bin/bash
TARGET="acpi_video0"
cd /sys/class/backlight
MAX="$(cat "${TARGET}/max_brightness")"
# The `/1` at the end forced bc to cast the result 
# to an integer, even if $1 is a float (which it 
# should be)
LOGIC="$(echo "($1 * ${MAX})/1" | bc)"
for i in */; do
    if [[ "${TARGET}/" != "$i" && -e "${i}brightness" ]]; then
        cat "${i}max_brightness" > "${i}brightness"
    fi
done
echo "$LOGIC" > "${TARGET}/brightness"

Führen Sie es als root mit einem beliebigen Wert zwischen 0 und 1 aus.

sudo ./set-brightness.sh 0.5
  • Wenn Ihr System keine hat /sys/class/backlight/acpi_video0, dort sollte mindestens ein Verzeichnis liegen, das gerätespezifisch sein kann (ich habe auch ein radeon_bl0, beispielsweise).
  • Wenn Sie andere haben, denken Sie daran, ihre Werte stapeln (daher die Schleife; schieben alle andere Werte auf 1,0, dann setzen Sie das Ziel auf die gewünschte Menge).
  • Während acpi_video0  sollte immer funktionieren, es hat nicht immer die volle Bandbreite an verfügbaren physikalischen Helligkeiten. Probieren Sie jeden aus und verwenden Sie den mit dem größten Gamut als "TARGET"

3
2018-03-09 19:18



Überlegen Sie zu verwenden /sys/class/backlight/*/brightness anstatt zu versuchen, hart zu codieren acpi_video0 in das Skript. Es wird erlauben, den Pfad zur Datei zu verallgemeinern, der anders sein kann - zum Beispiel habe ich intel_backlightnicht acpi_video0. Das habe ich in meinem benutzt Skript hier - Sergiy Kolodyazhnyy


KDE 4.12:

qdbus org.kde.Solid.PowerManagement /org/kde/Solid/PowerManagement/Actions/BrightnessControl setBrightness 55

2
2018-03-26 04:54



Kannst du erklären, was es tun wird? - Ten-Coin


Wie @Palacsint sagte, echo 244 > /sys/class/backlight/intel_backlight/brightness Weg funktioniert für mich.

Max- und Min-Werte werden jedoch erneut gesendet /sys/class/backlight/intel_backlight/max_brightness und /sys/class/backlight/intel_backlight/bl_power Dateien jeweils.

Außerdem ist die tatsächliche Helligkeit, mit der Ihr Computer jetzt läuft, in /sys/class/backlight/intel_backlight/actual_brightness


2
2017-12-07 05:59





Unter Verwendung der obigen Antworten habe ich dieses Skript erstellt (gespeichert in meinem Home-Verzeichnis als Helligkeit.sh), um die Bildschirmhelligkeit zu ändern (da die Tastatur des Laptops ein Problem mit verschüttetem Tee erlitt und unbrauchbar wurde). Fühlen Sie sich frei, es zu benutzen (wenn Sie die gekennzeichneten Akten haben ... andernfalls basteln Sie, um auf Ihre Änderung von ihnen zu zeigen, wird notwendig sein).

#!/bin/bash
function main_menu
{
    sudo clear
    cursetting=$(cat /sys/class/backlight/intel_backlight/brightness)
    maxsetting=$(cat /sys/class/backlight/intel_backlight/max_brightness)
    powersave=$((maxsetting/5))
    conservative=$((powersave*2))
    medium=$((powersave*3))
    performance=$((powersave*4))
    echo ""
    echo "----------------------- Brightness -----------------------"
    echo " 1. Set Display to Minimum (Powersave) brightness setting."
    echo " 2. Set Display to Low (Conservative) brightness setting."
    echo " 3. Set Display to Medium brightness setting."
    echo " 4. Set Display to High (Performance) brightness setting."
    echo " 5. Set Display to Maximum brightness setting."
    echo " 6. Exit."
    echo "----------------------------------------------------------"
    if [ $cursetting -eq $powersave ]; then
     cursetting='Minimum'
    else
     if [ $cursetting -eq $conservative ]; then
      cursetting='Conservative'
     else
      if [ $cursetting -eq $medium ]; then
       cursetting='Medium'
      else
       if [ $cursetting -eq $performance ]; then
        cursetting='Performance'
       else
        if [ $cursetting -eq $maxsetting ]; then
         cursetting='Maximum'
        fi
       fi
      fi
     fi
    fi
    echo "        Current Display Setting - "$cursetting;
    choice=7
    echo ""
    echo -e "Please enter your choice: \c"
}

function press_enter
{
    echo ""
    echo -n "Press Enter to continue."
    read
    main_menu
}

main_menu
while [ $choice -eq 7 ]; do
read choice

if [ $choice -eq 1 ]; then
 echo $powersave | sudo tee /sys/class/backlight/intel_backlight/brightness
 main_menu
else
 if [ $choice -eq 2 ]; then
  echo $conservative | sudo tee /sys/class/backlight/intel_backlight/brightness
  main_menu
 else
  if [ $choice -eq 3 ]; then
   echo $medium | sudo tee /sys/class/backlight/intel_backlight/brightness
   main_menu
  else
   if [ $choice -eq 4 ]; then
    echo $performance | sudo tee /sys/class/backlight/intel_backlight/brightness
    main_menu
   else
    if [ $choice -eq 5 ]; then
     echo $maxsetting | sudo tee /sys/class/backlight/intel_backlight/brightness
     main_menu
    else
     if [ $choice -eq 6 ]; then
      exit;
     else
      echo -e "Please enter the NUMBER of your choice: \c"
      choice = 7
     fi
    fi
   fi
  fi
 fi
fi
done

2
2018-02-26 00:13





DDC-Kontrolle ist eine weitere Option zur Steuerung der Hintergrundbeleuchtung für externe Monitore. Hier kann ich die Hintergrundbeleuchtung meines externen Monitors auf 50% seiner Leistung einstellen mit:

ddccontrol -p -r 0x10 -w 50

Ich habe nach möglichen Lösungen für dieses Problem gesucht, um den Weg zu verbessern Rotverschiebung Griffe Helligkeit ändert sich. Durch dort fand ich, dass dort ist Patchset für den Linux-Kernel um die Kompatibilität zwischen Geräten zu verbessern, so dass Laptops und externe Bildschirme ähnlich funktionieren können sysfs.

In der Zwischenzeit funktioniert nur ddccontrol für mich. Wie immer, das Arch Wiki hat gute Gesamtdokumentation zu dem Thema auch.


1
2018-01-25 22:14