Helligkeit beim Start ändern

8

Mein Lenovo T440s startet mit maximaler Helligkeit. Nach diesem Thread habe ich versucht zu ändern rc.local, aber das funktioniert nicht.

Wenn ich den Befehl ausführe, cat /sys/class/backlight/acpi_video0/brightnesserhalte ich die Ausgabe 851. Dann reduziere ich meine Helligkeit manuell über die Hotkeys und führe den Befehl erneut aus - er wird immer noch angezeigt 851.

Dies lässt mich glauben, dass ich meine Helligkeit nicht auf diese Weise steuern kann, indem ich einfach einen Befehl hinzufüge rc.local.

Kann ich noch etwas ausprobieren?


Hier ist die Maden Inhalt

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT="0"
GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="2"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL="console"

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE="640x480"

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID="true"

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

GRUB_DISABLE_OS_PROBER="true"

Hier ist der rc.localInhalt

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#echo 2 > /sys/class/backlight/acpi_video0/brightness
#echo 2 > /sys/class/backlight/intel_backlight/brightness

#xrandr --output eDP1 --brightness 0.3
rfkill block bluetooth
#echo 3 > /sys/class/backlight/thinkpad_screen/brightness
exit 0
Billy Jean
quelle
versuchen Sie meine Antwort Mann, es wird funktionieren
Nux

Antworten:

6

Haben Sie versucht, Software zu verwenden, um den manuellen Umgang mit dem sys-Dateisystem zu vermeiden? Ich schlage vor, xbacklight zu verwenden.

xbacklight -set 10

Mit diesem Befehl wird die Helligkeit des Bildschirms auf 10% eingestellt. Sie können das zu Ihrem rc.local hinzufügen.

Bearbeiten : Wenn das obige Verfahren nicht funktioniert, kann es zu Problemen zwischen dem Kernel und dem BIOS-ACPI kommen. Bearbeiten Sie die Datei:/boot/grub/menu.lst

Fügen Sie der Standardkonfiguration die folgenden Parameter hinzu: thinkpad-acpi.brightness_enable=1 acpi_backlight=vendor

Die Standardzeile sollte ungefähr so ​​aussehen:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash thinkpad-acpi.brightness_enable=1 acpi_backlight=vendor"

Speichern Sie die geänderte Datei und führen Sie Folgendes aus:

sudo update-grub

Starten Sie neu und prüfen Sie, ob xbacklight funktioniert

Schwertfisch90
quelle
Ich habe diesen Befehl im Terminal ausprobiert und er hat die Hintergrundbeleuchtung überhaupt nicht verändert (viele Werte ausprobiert, 10, 40, ...). Ich habe es auch hinzugefügt rc.local, aber beim Neustart nichts geändert.
BillyJean
Es scheint, als würde mich etwas daran
hindern,
Bearbeitet die Antwort, überprüfen Sie, ob dies Ihr Problem löst ...
Swordfish90
Ich habe keine Datei mit dem Namen menu.lstin/boot/grub
BillyJean
1
Entschuldigung für die späte Antwort ... Aus bestimmten Gründen dachte ich, Sie verwenden die LST-Version von Ubuntu. In der neuesten Version wurde diese Datei (aufgrund der Übergabe an GRUB2) nach "/ etc / default / grub" verschoben ... Sie können die bereits erstellte Datei sicher entfernen. Das System wird es ignorieren.
Schwertfisch90
1

Wenn Sie Gnome 3 oder Unity verwenden -

Überprüfen Sie den Hauptzweig unter https://github.com/ishanthilina/setBrightness .

Wenn Sie Gnome 2 verwenden -

Überprüfen Sie den Gnome2-Zweig unter https://github.com/ishanthilina/setBrightness .

Dies ist ein Python-Skript, das Ihr Problem löst.

Der in den Startanwendungen anzugebende Befehl lautet "python ////setBrightness.py <Helligkeitsstufe>".

Ein Beispiel wäre Python /home/ishan/.setBrightness/setBrightness.py 20. Wenn Sie keine Helligkeitsstufe angeben, ändert das Skript die Helligkeitsstufe entsprechend der Tageszeit. Wenn es zwischen 7 und 20 Uhr ist, wird die Helligkeit des Skripts auf 75 eingestellt.

Wenn es zwischen 20 Uhr und 7 Uhr morgens ist, setzt das Skript die Helligkeit auf 20. Sie können diese Helligkeitsstufen bearbeiten, indem Sie die Variablen day_level bzw. night_level ändern.

Quelle

Maythux
quelle
1

Aus dem Wortlaut Ihrer Frage geht hervor, dass Sie nur versucht haben, die Helligkeit mit zu steuern /sys/class/backlight/acpi_video0/brightness, aber es gibt möglicherweise andere Helligkeitssteuerungs-Pseudodateien in Ihrem /sys/Dateisystem. Siehe meine Antwort hier , die ich unten zusammenfasse:

  1. Lauf

    tail /sys/class/backlight/*/brightness
    

    wird so etwas ausgeben

    ==> /sys/class/backlight/acpi_video0/brightness <==
    7
    
    ==> /sys/class/backlight/radeon_bl/brightness <==
    255
    
    ==> /sys/class/backlight/toshiba/brightness <==
    -5
    
  2. Verringern oder erhöhen Sie nun die Helligkeit wie gewohnt und führen Sie danach erneut aus : tail /sys/class/backlight/*/brightness, werden die neuen Werte ausgegeben, z.

    ==> /sys/class/backlight/acpi_video0/brightness <==
    6
    
    ==> /sys/class/backlight/radeon_bl/brightness <==
    255
    
    ==> /sys/class/backlight/toshiba/brightness <==
    -5
    
  3. Die Datei, für die die ausgegebene Nummer in der obigen Ausgabe nach dem Anpassen der Helligkeit geändert wird, ist die Datei, die Ihre Helligkeit steuert. Sie müssen diese also verwenden.

Falkner
quelle
Das ist nützlich! Die Zeichenfolge, die sich ändert, ist /sys/class/backlight/thinkpad_screen/brightness. Zumindest wird es angezeigt 3, maximal wird es angezeigt 5. Wenn ich die Helligkeit manuell über Hotkeys ändere, ändert sich die Länge des Helligkeitsbalkens auch nur einmal, obwohl sich die physische Helligkeit um 10 Stufen ändert.
BillyJean
1
@ BillyJean Dann musst du nur noch diesen verwenden rc.local. Sie können meiner verknüpften Antwort folgen, um Anweisungen für den gesamten Prozess zu erhalten. Ich weiß nicht, wie das grafische Feedback für die Helligkeitsänderung angezeigt wird, das kann fehlerhaft sein. Sie können echoWerte für diese Pseudodatei zulassen und sehen, wie sich die Helligkeit ändert (Geben Sie nur keinen Wert über dem Maximum oder unter 0 wieder, aber selbst wenn Sie dies tun, wird dies meiner Meinung nach kein Problem verursachen.) auch in meiner anderen Antwort geschrieben.
Falkner
echo 3 > /sys/class/backlight/thinkpad_screen/brightnessIch rc.localhabe gerade versucht , meine Datei hinzuzufügen, aber beim Neustart hat sich nichts geändert ... wenn ich sie ausführe sudo bash -c "echo 3 > /sys/class/backlight/thinkpad_screen/brightness", passiert auch überhaupt nichts. Vielleicht besteht ein Zusammenhang zwischen diesen beiden Beobachtungen?
BillyJean
@ BillyJean Das ist seltsam, dass es die Helligkeit nicht ändert. Angenommen, Sie stellen die Helligkeit auf Maximum, also cat /sys/class/backlight/thinkpad_screen/brightnessmelden Sie 5. Jetzt tun Sie es sudo bash -c "echo 3 > /sys/class/backlight/thinkpad_screen/brightness". Nichts verändert sich? Erneut cat /sys/class/backlight/thinkpad_screen/brightnessausführen, meldet es immer noch 5 oder wird es in 3 geändert?
Falkner
1
@ BillyJean Seltsam.
Falkner
0

Dies ist offensichtlich ein Kernel-Kompatibilitätsproblem mit einigen Hardwares , und ich möchte nur, dass Sie diese Problemumgehung ausprobieren:

  1. Grub- Datei sichern und öffnen . Öffnen Sie das Terminal ( Ctrl+ Alt+ T) und geben Sie Folgendes ein:

    sudo cp /etc/default/grub /etc/default/grub.bak
    sudo gedit /etc/default/grub
    
  2. Sie finden diese Zeile im neu geöffneten Fenster: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

    Ändern Sie es in:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
    
  3. Speichern und schließen Sie das Fenster und aktualisieren Sie Ihren Grub:

    sudo update-grub
    
  4. Starten Sie Ihr System neu:

    sudo reboot
    

Wenn das obige Verfahren nicht funktioniert, wiederholen Sie den gleichen Schritt, aber versuchen Sie diesmal, die Zeile in Schritt 2 folgendermaßen zu ändern :

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"

Antworte, wenn etwas schief geht. Wenn es nicht funktioniert, bearbeiten Sie bitte Ihre Frage und fügen Sie den Inhalt der Grub- Datei ein:cat /etc/default/grub

Saurav Kumar
quelle
Danke, es hat nicht funktioniert. Fügte meinen Grub-Datei-Inhalt in OP
BillyJean
@ BillyJean: Ich sehe keinen Unterschied. Ihre Grub-Datei entspricht den Erwartungen. Haben Sie die zweite Option ausprobiert, indem Sie die Leitung durch ersetzen GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"? Nur zur Bestätigung .. Ich möchte Sie auch diesen Befehl nach dem Ausführen - sudo update-grubBefehl: sudo update-initramfs -uund das System neu starten. Antworten Sie, was passiert ..
Saurav Kumar
Ja, ich habe es auch versucht GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force". Auch versucht, sudo update-initramfs -unach zu laufen sudo update-grub, aber immer noch nichts nach dem Neustart
BillyJean
1
@ BillyJean: Ich wünschte, jemand würde Ihr Problem herausfinden und lösen. In Ihrer Freizeit können Sie über diesen Link gehen . Hoffe, es würde für Sie funktionieren ..
Saurav Kumar
0

Dann reduziere ich meine Helligkeit manuell über die Hotkeys und führe den Befehl erneut aus ...

Da Sie die Helligkeit mit Hokeys verringern können , sollte Folgendes dbusoder eine xdotoolMethode funktionieren

xbacklight

$ xbacklight +30% # increases brightness by 30 percent
$ xbacklight -30% # decreases brightness by 30 percent

dbus weg

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.SetPercentage \
      uint32:<percentage>
Beispiel

Stellen Sie die Helligkeit auf 30% ein:

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.SetPercentage \
      uint32:30 

Oder
um die Helligkeit schrittweise zu verringern (~ 7)

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.StepDown

Helligkeit um einen Schritt erhöhen (~ 7)

$ dbus-send --session --print-reply \
      --dest="org.gnome.SettingsDaemon" \
      /org/gnome/SettingsDaemon/Power \
      org.gnome.SettingsDaemon.Power.Screen.StepUp

Wenn Folgendes angezeigt wird, ist Ihr Betriebssystem möglicherweise zu alt. Dann benutze xdotool:

Error org.freedesktop.DBus.Error.UnknownMethod: 
Method "SetPercentage" with signature "u" on interface 
"org.gnome.SettingsDaemon.Power.Screen" doesn't exist

xdotool

  • Helligkeit erhöhen:

    $ xdotool key XF86MonBrightnessUp
    
  • Helligkeit verringern:

    $ xdotool key XF86MonBrightnessDown
    

Nach erfolgreichem Testen der Ameise der oben genannten Methode können Sie sie hinzufügen /etc/rc.local

Software-Methode
Wenn Sie keine der folgenden Methoden verwenden können, um die Helligkeit Ihres Hardware-Rückdeckels anzupassen, passen Sie die Software-Helligkeit Ihres Displays an.
xrandr --output OUTPUT --brightness VALUE
Zum Beispiel
xrandr --output LVDS1 --brightness 0.9
können Sie angeschlossene Displays mit findenxrandr | grep connected

totti
quelle
Versuchte den ersten Befehl, es gibt mir method return sender=:1.7 -> dest=:1.137 reply_serial=2 uint32 100, nichts anderes passiert
BillyJean
Erwartete Ausgabemethod return sender=:1.6 -> dest=:1.111 reply_serial=2 uint32 30
totti
Aber die Helligkeit wird nicht geändert, es gibt mir nur diese Ausgabe
BillyJean
Ihr letzter Vorschlag mit xrandrArbeiten. Die Verwendung von 0,6 senkt es beispielsweise und 1,0 maximiert es. Aber wenn ich 0,5 benutze und es dann mit Hotkeys auf Maximum stellen möchte, dann hört es bei ca. auf. 0,8. Es gibt also immer noch ein grundlegendes Problem, aber zumindest funktioniert jetzt etwas
BillyJean
Wo soll ich den Befehl hinzufügen, damit er beim Start ausgeführt wird? Ich habe es mit versucht /etc/rc.local, aber es ändert nichts an der Helligkeit beim Start
BillyJean
0

Ich hatte ein ähnliches Problem auf meinem t430s, nachdem ich von OpenSuse 12.3 (3.7 Kernel) auf 13.1 (3.11 Kernel) aktualisiert hatte. Das Display hatte beim Booten immer die maximale Helligkeit, aber meine größere Sorge war, dass die Helligkeitsfunktionstasten (normalerweise) nicht funktionierten. Xbacklight würde (normalerweise) funktionieren, aber nicht immer. Wenn ich die Helligkeit mit xbacklight auf 80 ändern würde, würde das funktionieren. Wenn ich es auf 70 ändern würde, würde nichts passieren, bis ich die Funktionstaste zum Verringern der Helligkeit gedrückt hätte. Dann würde es auf (ungefähr?) 70% fallen. Es war wirklich komisch.

Aus anderen Gründen wechselte ich zu Mint 16 Cinnamon, bevor ich eine Lösung fand. Die Funktionstasten funktionieren jetzt einwandfrei, daher habe ich mich nicht weiter damit befasst. (Ich schlage NICHT vor, Distributionen als Lösung zu wechseln, übrigens!) Bevor ich wechselte, habe ich Folgendes gelernt:

Ich habe (irgendwo?) Gelesen, dass die 3.8 + -Kerne einen Hardwaretrend im Zusammenhang mit Windows 8 ansprechen: Win8 erfordert Hardware, um 101 Helligkeitsstufen zurückzumelden. Das T430 unterstützt nur 16. Ich vermute, dass der Kernel Hardware "fragt", die in 1/16 "denkt", nach einer Helligkeitsänderung von 1/101! (Bitte zitiere mich nicht dazu.)

Anstatt acpi_backlight=vendorin / etc / default / grub zu verwenden, können Sie es versuchen acpi_backlight="!Windows 2012"- dh sagen Sie "Ich verwende kein Windows 8!" Einige der OpenSuse-Leute hatten Erfolg damit, obwohl keiner von ihnen Thinkpads verwendete. Versuch es einmal.

Shane Steinfeld
quelle
@BillyJean - Aah - Sie müssen wahrscheinlich die Anführungszeichen um "! Windows2012" umgehen oder stattdessen einfache Anführungszeichen verwenden. (Ich bin n / s!) GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=\"!Windows2012\""
Shane Steinfeld
Danke für den Vorschlag. Ich habe beide Optionen (mit / ohne Anführungszeichen) ausprobiert, aber leider nicht funktioniert. Hätte mit dem Mac gehen sollen ... :)
BillyJean