Zmiana jasności przy uruchomieniu


8

Mój Lenovo T440s uruchamia się z maksymalną jasnością. Po tym wątku próbowałem zmienić rc.local, ale to nie działa.

Kiedy wykonuję polecenie cat /sys/class/backlight/acpi_video0/brightness, otrzymuję wynik 851. Następnie ręcznie zmniejszam jasność za pomocą klawiszy skrótu i ​​ponownie wykonuję polecenie - nadal pokazuje 851.

To prowadzi mnie do przekonania, że ​​nie mogę kontrolować mojej jasności w ten sposób, po prostu dodając polecenie do rc.local.

Czy jest coś jeszcze, co mogę spróbować?


Oto zawartość grub

# 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"

Oto rc.localtreść

#!/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

wypróbuj moją odpowiedź, to zadziała
nux

Odpowiedzi:


6

Czy próbowałeś użyć oprogramowania, aby uniknąć ręcznego radzenia sobie z systemem plików sys? Sugeruję użycie xbacklight.

xbacklight -set 10

To polecenie ustawi jasność ekranu na 10%. Możesz dodać to do swojego rc.local.

Edycja : Jeśli powyższa procedura nie działa, mogą występować problemy między jądrem a bios acpi. Edytuj plik:/boot/grub/menu.lst

Dodaj następujące parametry do domyślnej konfiguracji: thinkpad-acpi.brightness_enable=1 acpi_backlight=vendor

Domyślna linia powinna wyglądać mniej więcej tak:

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

Zapisz zmodyfikowany plik i uruchom:

sudo update-grub

Uruchom ponownie i sprawdź, czy xbacklight działa


Próbowałem tego polecenia w terminalu i wcale nie zmieniło to podświetlenia (próbowałem wielu wartości, 10, 40, ...). Dodałem go również rc.local, ale nie zmieniłem niczego po ponownym uruchomieniu.
BillyJean

Wygląda na to, że coś „blokuje” mnie przed zmianą za pomocą polecenia
BillyJean

Zredagowałem odpowiedź, sprawdź, czy to rozwiąże twój problem ...
Swordfish90,

Nie mam plik o nazwie menu.lstw/boot/grub
BillyJean

1
Przepraszam za spóźnioną odpowiedź ... W każdym razie z niektórych powodów myślałem, że używasz wersji Ubuntu w wersji LST. W najnowszej wersji ten plik został przeniesiony (z powodu przejścia do GRUB2) do „/ etc / default / grub” ... Możesz bezpiecznie usunąć plik, który już utworzyłeś. System zignoruje to.
Swordfish90,

1

Jeśli używasz Gnome 3 lub Unity -

Sprawdź główny oddział na https://github.com/ishanthilina/setBrightness .

Jeśli używasz Gnome 2 -

Sprawdź oddział Gnome2 na stronie https://github.com/ishanthilina/setBrightness .

To jest skrypt pythonowy rozwiązujący twój problem.

W aplikacjach startowych należy podać polecenie „python ////setBrightness.py <Poziom jasności>”.

Przykładem może być python /home/ishan/.setBrightness/setBrightness.py 20. Jeśli nie określisz poziomu jasności, skrypt zmieni poziom jasności zgodnie z porą dnia. Jeśli jest między 7 rano a 8 wieczorem, skrypt sprawi, że jasność zostanie ustawiona na 75.

Jeśli jest między 20:00 a 7 rano, skrypt sprawi, że jasność zostanie ustawiona na 20. Możesz edytować te poziomy jasności, zmieniając odpowiednio zmienne day_level i night_level.

źródło


1

Z brzmienia twojego pytania myślę, że próbowałeś tylko kontrolować jasność za pomocą /sys/class/backlight/acpi_video0/brightness, ale prawdopodobnie w twoim /sys/systemie plików są inne pseudo-pliki kontrolujące jasność . Zobacz moją odpowiedź tutaj , którą podsumowuję poniżej:

  1. Biegać

    tail /sys/class/backlight/*/brightness
    

    wyświetli coś takiego

    ==> /sys/class/backlight/acpi_video0/brightness <==
    7
    
    ==> /sys/class/backlight/radeon_bl/brightness <==
    255
    
    ==> /sys/class/backlight/toshiba/brightness <==
    -5
    
  2. Teraz zmniejsz lub zwiększ poziom jasności jak zwykle, a następnie uruchom ponownie tail /sys/class/backlight/*/brightness:, wyświetli nowe wartości, np .:

    ==> /sys/class/backlight/acpi_video0/brightness <==
    6
    
    ==> /sys/class/backlight/radeon_bl/brightness <==
    255
    
    ==> /sys/class/backlight/toshiba/brightness <==
    -5
    
  3. Plik, dla którego numer wyjściowy w powyższym wyjściu został zmieniony po dostosowaniu jasności, jest plikiem kontrolującym jasność, więc będziesz musiał go użyć.


To jest przydatne! Ciąg, który się zmienia to /sys/class/backlight/thinkpad_screen/brightness. Przynajmniej wyświetla 3, przy maksimum wyświetla 5. Kiedy ręcznie zmieniam jasność za pomocą klawiszy skrótu, długość paska jasności zmienia się również tylko raz, mimo że fizyczna jasność zmienia 10 poziomów?
BillyJean

1
@BillyJean Następnie musisz użyć tego w rc.local. Możesz śledzić moją połączoną odpowiedź, aby uzyskać instrukcje z całym procesem. Nie wiem, w jaki sposób wyświetlane jest graficzne sprzężenie zwrotne zmiany jasności, które może być wadliwe. Możesz echodopuścić wartości do tego pseudopliku i zobaczyć, jak zmienia się jasność (Po prostu nie odbijaj wartości powyżej maksimum lub poniżej 0, ale nawet jeśli to zrobisz, myślę, że nie spowoduje to żadnego problemu). również napisane w mojej innej odpowiedzi.
sokolnik

Próbowałem tylko dodać echo 3 > /sys/class/backlight/thinkpad_screen/brightnessdo mojego rc.local-pliku, ale nic się nie zmieniło po ponownym uruchomieniu ... kiedy uruchamiam, sudo bash -c "echo 3 > /sys/class/backlight/thinkpad_screen/brightness"nic się też nie dzieje. Może istnieje związek między tymi dwiema obserwacjami?
BillyJean

@BillyJean To dziwne, że nie zmieni jasności. Powiedz, że zwiększasz jasność do maksimum, więc cat /sys/class/backlight/thinkpad_screen/brightnesszgłoś 5. Teraz to zrobisz sudo bash -c "echo 3 > /sys/class/backlight/thinkpad_screen/brightness". Nic się nie zmienia? Uruchom ponownie cat /sys/class/backlight/thinkpad_screen/brightness, czy nadal zgłasza 5, czy zmienia się na 3?
sokolnik

1
@BillyJean Strange.
sokolnik

0

Jest to oczywiście problem ze zgodnością jądra z niektórymi programami sprzętowymi i chcę tylko, abyś wypróbował to obejście:

  1. Utwórz kopię zapasową i otwórz plik grub . Otwórz terminal ( Ctrl+ Alt+ T) i wpisz:

    sudo cp /etc/default/grub /etc/default/grub.bak
    sudo gedit /etc/default/grub
    
  2. Znajdziesz ten wiersz w nowym otwartym oknie: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

    Zmień na:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
    
  3. Zapisz i zamknij okno i zaktualizuj swój grub:

    sudo update-grub
    
  4. Uruchom ponownie system:

    sudo reboot
    

jeśli powyższa procedura nie działa, powtórz ten sam krok, ale tym razem spróbuj zmienić wiersz w kroku 2 w ten sposób:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"

Odpowiedz, jeśli coś pójdzie nie tak. Jeśli to nie działa, edytuj swoje pytanie i wklej zawartość pliku grub :cat /etc/default/grub


Dzięki, to nie działało.
Wkleiłem

@BillyJean: Nie widzę żadnej różnicy. Twój plik grub jest zgodny z oczekiwaniami. Czy wypróbowałeś już drugą opcję, zastępując linię GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"? Tylko dla potwierdzenia. Chcę również, abyś wykonał to polecenie po sudo update-grubpoleceniu: sudo update-initramfs -ui zrestartował system. Odpowiedz, co się stanie ..
Saurav Kumar

Tak, też próbowałem GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force". Próbowałem także uruchomić sudo update-initramfs -upo sudo update-grub, ale nadal nic po ponownym uruchomieniu
BillyJean

1
@BillyJean: Chciałbym, aby ktoś wymyślił i rozwiązał problem. W wolnym czasie możesz przejść przez ten link . Mam nadzieję, że to zadziała dla ciebie ..
Saurav Kumar

0

Następnie ręcznie zmniejszam jasność za pomocą klawiszy skrótu i ​​ponownie wykonuję polecenie ...

Ponieważ możesz obniżyć jasność za pomocą Hokeys, poniższe metody dbuslub xdotoolmetody powinny działać

xbacklight

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

sposób dbus

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

Ustaw jasność na 30%:

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

Lub
Aby zmniejszyć jasność o krok (~ 7)

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

Zwiększanie jasności o krok (~ 7)

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

Jeśli pojawi się następujący komunikat, Twój system operacyjny może być za stary. Następnie użyj xdotool:

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

xdotool

  • Zwiększ jasność:

    $ xdotool key XF86MonBrightnessUp
    
  • Zmniejsz jasność:

    $ xdotool key XF86MonBrightnessDown
    

Po pomyślnym przetestowaniu powyższej metody możesz ją dodać /etc/rc.local

Sposób oprogramowania
Jeśli nie możesz użyć żadnej z poniższych metod, aby wyregulować jasność tylnej pokrywy sprzętu, dostosuj jasność oprogramowania wyświetlacza.
xrandr --output OUTPUT --brightness VALUE
Na przykład
xrandr --output LVDS1 --brightness 0.9
Możesz znaleźć podłączone wyświetlacze za pomocąxrandr | grep connected


Wypróbowałem pierwsze polecenie, daje mi method return sender=:1.7 -> dest=:1.137 reply_serial=2 uint32 100, nic więcej się nie dzieje
BillyJean

Oczekiwany wynikmethod return sender=:1.6 -> dest=:1.111 reply_serial=2 uint32 30
totti

Ale jasność się nie zmienia, daje mi tylko ten wynik
BillyJean

Twoja ostateczna sugestia z xrandrpracami. Na przykład użycie 0.6 obniża go, a 1.0 maksymalizuje. Ale jeśli użyję 0,5, a następnie chcę zwiększyć ją do maksimum za pomocą skrótów klawiszowych, to zatrzyma się na około 0,8 Tak więc nadal istnieje fundamentalny problem, ale przynajmniej coś teraz działa
BillyJean

Gdzie powinienem dodać polecenie, które ma zostać wykonane podczas uruchamiania? Próbowałem z /etc/rc.local, ale nie zmienia jasności podczas uruchamiania
BillyJean

0

Miałem podobny problem na moim t430 po aktualizacji z OpenSuse 12.3 (jądro 3.7) do 13.1 (jądro 3.11). Wyświetlacz zawsze miał maksymalną jasność podczas rozruchu, ale moim większym zmartwieniem było to, że klawisze funkcyjne jasności (zwykle) nie działały. Xbacklight działałby (zwykle), ale nie zawsze. Gdybym zmienił jasność na 80 za pomocą xbacklight, to by działało. Gdybym zmienił go na 70, nic by się nie stało, dopóki nie nacisnę przycisku funkcyjnego zmniejszania jasności. Wtedy spadłby do (około?) 70%. To było naprawdę dziwne.

Z niepowiązanych powodów przestawiłem się na Miętowy Cynamon 16, zanim znalazłem rozwiązanie. Klawisze funkcyjne działają teraz dobrze, więc nie zagłębiałem się w to. (NIE sugeruję przełączania dystrybucji jako rozwiązania, BTW!) Przed zmianą, oto czego się nauczyłem:

Przeczytałem (gdzieś?), Że jądra 3.8 + odpowiadają trendowi sprzętowemu związanemu z Windows 8: Win8 wymaga, aby sprzęt zgłaszał 101 poziomów jasności; t430 obsługuje tylko 16. Zgaduję, że jądro „pyta” sprzęt, który „myśli” w 1/16 o zmianę jasności o 1/101! (Proszę nie cytować mnie na ten temat.)

Zamiast używać acpi_backlight=vendorw / etc / default / grub, możesz spróbować acpi_backlight="!Windows 2012"- tzn. Powiedz „Nie używam Windows 8!” Niektórzy z OpenSuse odnosili sukcesy, chociaż żaden z nich nie korzystał z Thinkpadów. Spróbuj.


@BillyJean - Aah - prawdopodobnie będziesz musiał unikać cudzysłowów wokół „! Windows2012” lub zamiast tego używać pojedynczych cudzysłowów. (Jestem n / s!) GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=\"!Windows2012\""
Shane Steinfeld

Dzieki za sugestie. Wypróbowałem obie opcje (z / bez cudzysłowów), ale niestety nie zadziałało. Powinienem był pójść z komputerem Mac ... :)
BillyJean
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.