Modifica della luminosità all'avvio


8

Il mio Lenovo T440s si avvia con la massima luminosità. Seguendo questa discussione ho provato a modificare rc.local, ma questo non funziona.

Quando eseguo il comando cat /sys/class/backlight/acpi_video0/brightnessottengo l'output 851. Quindi abbasso manualmente la luminosità tramite i tasti di scelta rapida ed eseguo di nuovo il comando - mostra ancora851 .

Questo mi porta a credere che non posso controllare la mia luminosità in questo modo semplicemente aggiungendo un comando a rc.local.

C'è qualcos'altro che posso provare?


Ecco il contenuto di 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"

Ecco il rc.localcontenuto

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

prova la mia risposta amico, funzionerà
nux

Risposte:


6

Hai provato a utilizzare alcuni software per evitare di gestire manualmente il filesystem sys? Suggerisco di usare xbacklight.

xbacklight -set 10

Questo comando imposterà la luminosità dello schermo al 10%. Puoi aggiungerlo al tuo rc.local.

Modifica : se la procedura sopra descritta non funziona, potrebbero esserci dei problemi tra il kernel e il BIOS Acpi. Modifica il file:/boot/grub/menu.lst

Aggiungi i seguenti parametri alla configurazione predefinita: thinkpad-acpi.brightness_enable=1 acpi_backlight=vendor

La linea predefinita dovrebbe apparire in questo modo:

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

Salva il file modificato ed esegui:

sudo update-grub

Riavvia e controlla se xbacklight funziona


Ho provato quel comando nel terminale e non ha cambiato affatto la retroilluminazione (ho provato molti valori, 10, 40, ...). L'ho anche aggiunto rc.local, ma non ho cambiato nulla al riavvio.
BillyJean,

Sembra che qualcosa mi stia "bloccando" dal cambiarlo tramite un comando
BillyJean

Modificata la risposta, controlla se questo risolve il tuo problema ...
Pesce

Non ho un file di nome menu.lstin/boot/grub
billyjean

1
Ci scusiamo per la risposta tardiva ... Ad ogni modo, per alcuni motivi ho pensato che stessi usando la versione LST di Ubuntu. Nell'ultima versione quel file è stato spostato (a causa del passaggio a GRUB2) in "/ etc / default / grub" ... Puoi rimuovere in sicurezza il file che hai già creato. Il sistema lo ignorerà.
Pesce

1

Se stai usando Gnome 3 o Unity -

Controlla la filiale principale da https://github.com/ishanthilina/setBrightness .

Se stai usando Gnome 2 -

Dai un'occhiata al ramo di Gnome2 da https://github.com/ishanthilina/setBrightness .

Questo è uno script Python per risolvere il tuo problema.

Il comando da dare nelle applicazioni di avvio è "python ////setBrightness.py <Livello di luminosità>".

Un esempio sarebbe Python /home/ishan/.setBrightness/setBrightness.py 20. Se non si specifica un livello di luminosità, lo script cambierà il livello di luminosità in base all'ora del giorno. Se è tra le 7:00 e le 20:00, lo script renderà la luminosità impostata su 75.

Se è tra le 20:00 e le 7:00, lo script renderà la luminosità impostata su 20. Puoi modificare questi livelli di luminosità cambiando rispettivamente le variabili day_level e night_level.

fonte


1

Dalla formulazione della tua domanda penso che tu abbia provato a controllare la luminosità solo con /sys/class/backlight/acpi_video0/brightness, ma ci sono probabilmente altri pseudo-file di controllo della luminosità nel tuo /sys/file system. Vedi la mia risposta qui , che riassumo di seguito:

  1. Correre

    tail /sys/class/backlight/*/brightness
    

    produrrà qualcosa di simile

    ==> /sys/class/backlight/acpi_video0/brightness <==
    7
    
    ==> /sys/class/backlight/radeon_bl/brightness <==
    255
    
    ==> /sys/class/backlight/toshiba/brightness <==
    -5
    
  2. Ora abbassa o aumenta il livello di luminosità come fai normalmente, e poi esegui di nuovo tail /sys/class/backlight/*/brightness:, verranno emessi i nuovi valori, ad esempio:

    ==> /sys/class/backlight/acpi_video0/brightness <==
    6
    
    ==> /sys/class/backlight/radeon_bl/brightness <==
    255
    
    ==> /sys/class/backlight/toshiba/brightness <==
    -5
    
  3. Il file per il quale il numero generato nell'output sopra è cambiato dopo aver regolato la luminosità è il file che controlla la luminosità, quindi dovrai usarlo.


Questo è utile! La stringa che cambia è /sys/class/backlight/thinkpad_screen/brightness. Al minimo viene visualizzato 3, al massimo viene visualizzato 5. Quando cambio manualmente la luminosità tramite i tasti di scelta rapida, anche la lunghezza della barra della luminosità cambia una sola volta anche se la luminosità fisica cambia di 10 livelli?
BillyJean,

1
@BillyJean Quindi devi solo usare quello in rc.local. Puoi seguire la mia risposta collegata per istruzioni con l'intero processo. Non so come sia mostrato il feedback grafico per il cambiamento di luminosità, che può essere errato. Puoi echoconsentire valori a questo pseudo-file e vedere come cambia la luminosità (non fare eco a un valore superiore al massimo o inferiore a 0, ma anche se lo fai penso che non causerà alcun problema.), Questo è scritto anche nella mia altra risposta.
falconiere

Ho appena provato ad aggiungere echo 3 > /sys/class/backlight/thinkpad_screen/brightnessal mio rc.local-file, ma non è cambiato nulla al riavvio ... quando corro sudo bash -c "echo 3 > /sys/class/backlight/thinkpad_screen/brightness"non succede nulla. Forse c'è una connessione tra queste due osservazioni?
BillyJean,

@BillyJean È strano che non cambierà la luminosità. Supponi di aumentare la luminosità al massimo, quindi cat /sys/class/backlight/thinkpad_screen/brightnesssegnala 5. Ora lo fai sudo bash -c "echo 3 > /sys/class/backlight/thinkpad_screen/brightness". Niente cambia? Esegui di nuovo cat /sys/class/backlight/thinkpad_screen/brightness, riporta ancora 5 o è cambiato in 3?
falconiere

1
@BillyJean Strange.
falconiere

0

Questo è ovviamente un problema di compatibilità del kernel con alcuni hardware e voglio solo che tu provi questa soluzione alternativa:

  1. Esegui il backup e apri il file grub . Apri terminale ( Ctrl+ Alt+ T) e digita:

    sudo cp /etc/default/grub /etc/default/grub.bak
    sudo gedit /etc/default/grub
    
  2. Troverai questa riga nella nuova finestra aperta: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

    Modificalo in:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
    
  3. Salva e chiudi la finestra e aggiorna il tuo grub:

    sudo update-grub
    
  4. Riavvia il tuo sistema:

    sudo reboot
    

se la procedura sopra descritta non funziona, ripetere lo stesso passaggio ma questa volta provare a cambiare la riga nel passaggio 2 con questo:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"

Rispondi se qualcosa va storto. Se non funziona, modifica la domanda e incolla il contenuto del file grub :cat /etc/default/grub


Grazie, non ha funzionato. Ho incollato il contenuto del mio file grub in OP
BillyJean il

@BillyJean: non vedo alcuna differenza. Il tuo file grub è quello che era previsto. Hai provato la seconda opzione i, e sostituendo la linea con GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"? Solo per conferma .. Voglio anche che tu esegua questo comando dopo sudo update-grubcomando: sudo update-initramfs -ue riavvii il tuo sistema. Rispondi cosa succede ..
Saurav Kumar,

Sì, ho anche provato GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force". Ha anche provato a correre sudo update-initramfs -udopo sudo update-grub, ma ancora niente dopo il riavvio
BillyJean

1
@BillyJean: Vorrei che qualcuno capisse e risolvesse il tuo problema. Nel tuo tempo libero puoi passare attraverso questo link . Spero che funzioni per te ..
Saurav Kumar,

0

Quindi abbasso manualmente la luminosità tramite i tasti di scelta rapida ed eseguo di nuovo il comando ...

Poiché è possibile ridurre la luminosità utilizzando Hokeys, il seguente metodo dbuso xdotoolmetodo dovrebbe funzionare

xbacklight

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

modo dbus

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

Imposta la luminosità al 30%:

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

Oppure
per ridurre la luminosità di un passo (~ 7)

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

Per aumentare la luminosità di un passo (~ 7)

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

Se dice quanto segue il tuo sistema operativo potrebbe essere troppo vecchio. Quindi utilizzare xdotool:

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

xdotool

  • Aumentare la luminosità:

    $ xdotool key XF86MonBrightnessUp
    
  • Ridurre la luminosità:

    $ xdotool key XF86MonBrightnessDown
    

Dopo aver testato con successo la formica del metodo sopra puoi aggiungerla a /etc/rc.local

Modo software
Se non è possibile utilizzare uno dei seguenti metodi per regolare la luminosità del coperchio posteriore dell'hardware, regolare la luminosità del software del display.
xrandr --output OUTPUT --brightness VALUE
Per esempio
xrandr --output LVDS1 --brightness 0.9
puoi trovare i display collegati usandoxrandr | grep connected


Ho provato il primo comando, mi dà method return sender=:1.7 -> dest=:1.137 reply_serial=2 uint32 100, non succede nient'altro
BillyJean,

Uscita previstamethod return sender=:1.6 -> dest=:1.111 reply_serial=2 uint32 30
totti,

Ma la luminosità non è cambiata, mi dà solo
quell'uscita

Il tuo suggerimento finale con le xrandropere. L'uso di 0.6 per esempio lo abbassa e 1.0 lo massimizza. Ma se uso 0,5 e poi voglio alzarlo al massimo con i tasti di scelta rapida, allora si ferma a ca. 0.8. Quindi c'è ancora un problema fondamentale, ma almeno qualcosa funziona ora
BillyJean,

Dove devo aggiungere il comando per eseguirlo all'avvio? Ho provato con /etc/rc.local, ma non cambia la luminosità all'avvio
BillyJean

0

Ho avuto un problema simile sul mio t430s dopo l'aggiornamento da OpenSuse 12.3 (3.7 kernel) a 13.1 (3.11 kernel). Il display era sempre alla massima luminosità all'avvio, ma la mia più grande preoccupazione era che i tasti funzione di luminosità (di solito) non funzionavano. Xbacklight funzionerebbe (di solito), ma non sempre. Se cambierei la luminosità su 80 usando xbacklight, funzionerebbe. Se lo cambiassi in 70, non succederebbe nulla finché non premessi il tasto funzione di riduzione della luminosità. Quindi scenderebbe a (circa?) 70%. È stato davvero strano.

Per motivi non correlati, sono passato a Mint 16 Cinnamon prima di trovare una soluzione. I tasti funzione funzionano bene ora, quindi non ho esaminato ulteriormente. (NON sto suggerendo di cambiare distro come soluzione, BTW!) Prima di cambiare, ecco cosa ho imparato:

Ho letto (da qualche parte ??) che i kernel 3.8 + rispondono a una tendenza hardware correlata a Windows 8: Win8 richiede hardware per riportare 101 livelli di luminosità; il t430 supporta solo 16. Immagino che il kernel stia "chiedendo" all'hardware che "pensa" in 1/16 per un cambio di luminosità di 1/100! (Per favore, non citarmi su questo.)

Invece di usare acpi_backlight=vendorin / etc / default / grub, potresti provare acpi_backlight="!Windows 2012"- cioè, dire "Non sto usando Windows 8!" Alcune persone di OpenSuse stavano avendo successo con questo, sebbene nessuno di loro stesse usando Thinkpad. Dagli Un colpo.


@BillyJean - Aah - probabilmente dovrai sfuggire alle virgolette "! Windows2012" o utilizzare invece virgolette singole. (Sono n / s!) GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=\"!Windows2012\""
Shane Steinfeld,

Grazie per il suggerimento Ho provato entrambe le opzioni (con / senza virgolette), ma sfortunatamente non ha funzionato. Avrei dovuto andare con il Mac ... :)
BillyJean,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.