Changer la luminosité au démarrage

8

Mon Lenovo T440s démarre avec une luminosité maximale. En suivant ce fil, j'ai essayé de le modifier rc.local, mais cela ne fonctionne pas.

Lorsque j'exécute la commande, cat /sys/class/backlight/acpi_video0/brightnessj'obtiens la sortie 851. Ensuite, je baisse ma luminosité manuellement via les touches de raccourci et réexécute la commande - elle s'affiche toujours851 .

Cela me porte à croire que je ne peux pas contrôler ma luminosité de cette manière en ajoutant simplement une commande à rc.local.

Puis-je essayer autre chose?


Voici le contenu 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"

Voici le rc.localcontenu

#!/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
BillyJean
la source
essayez ma réponse mec, cela fonctionnera
nux

Réponses:

6

Avez-vous essayé d'utiliser un logiciel pour éviter de traiter manuellement le système de fichiers sys? Je suggère d'utiliser xbacklight.

xbacklight -set 10

Cette commande règle la luminosité de l'écran à 10%. Vous pouvez l'ajouter à votre rc.local.

Edit : Si la procédure ci-dessus ne fonctionne pas, il peut y avoir des problèmes entre le noyau et le bios acpi. Modifiez le fichier:/boot/grub/menu.lst

Ajoutez les paramètres suivants à la configuration par défaut: thinkpad-acpi.brightness_enable=1 acpi_backlight=vendor

La ligne par défaut devrait ressembler à ceci:

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

Enregistrez le fichier modifié et exécutez:

sudo update-grub

Redémarrez et vérifiez si xbacklight fonctionne

Espadon90
la source
J'ai essayé cette commande dans le terminal et cela n'a pas du tout changé le rétroéclairage (essayé de nombreuses valeurs, 10, 40, ...). Je l'ai également ajouté rc.local, mais je n'ai rien changé au redémarrage.
BillyJean
Il semble que quelque chose "m'empêche" de le changer via une commande
BillyJean
Modifié la réponse, vérifiez si cela résout votre problème ...
Swordfish90
Je n'ai pas un fichier nommé menu.lstdans/boot/grub
BillyJean
1
Désolé pour la réponse tardive ... Quoi qu'il en soit, pour certaines raisons, je pensais que vous utilisiez la version LST d'ubuntu. Dans la dernière version, ce fichier a été déplacé (en raison du passage à GRUB2) vers "/ etc / default / grub" ... Vous pouvez supprimer en toute sécurité le fichier que vous avez déjà créé. Le système l'ignorera.
Swordfish90
1

Si vous utilisez Gnome 3 ou Unity -

Découvrez la branche principale sur https://github.com/ishanthilina/setBrightness .

Si vous utilisez Gnome 2 -

Découvrez la branche Gnome2 sur https://github.com/ishanthilina/setBrightness .

Ceci est un script python pour résoudre votre problème.

La commande à donner dans les applications de démarrage est "python ////setBrightness.py <Niveau de luminosité>".

Un exemple serait python /home/ishan/.setBrightness/setBrightness.py 20. Si vous ne spécifiez pas de niveau de luminosité, le script changera le niveau de luminosité en fonction de l'heure de la journée. Si c'est entre 7h et 20h, le script fera régler la luminosité à 75.

S'il se situe entre 20 h et 7 h, le script fera en sorte que la luminosité soit réglée sur 20. Vous pouvez modifier ces niveaux de luminosité en modifiant respectivement les variables day_level et night_level.

la source

Maythux
la source
1

D'après le libellé de votre question, je pense que vous avez uniquement essayé de contrôler la luminosité avec /sys/class/backlight/acpi_video0/brightness, mais il existe peut-être d'autres pseudo-fichiers de contrôle de la luminosité dans votre /sys/système de fichiers. Voir ma réponse ici , que je résume ci-dessous:

  1. Courir

    tail /sys/class/backlight/*/brightness
    

    produira quelque chose comme

    ==> /sys/class/backlight/acpi_video0/brightness <==
    7
    
    ==> /sys/class/backlight/radeon_bl/brightness <==
    255
    
    ==> /sys/class/backlight/toshiba/brightness <==
    -5
    
  2. Maintenant, abaissez ou augmentez le niveau de luminosité comme vous le faites normalement, puis exécutez à nouveau tail /sys/class/backlight/*/brightness:, affichera les nouvelles valeurs, par exemple:

    ==> /sys/class/backlight/acpi_video0/brightness <==
    6
    
    ==> /sys/class/backlight/radeon_bl/brightness <==
    255
    
    ==> /sys/class/backlight/toshiba/brightness <==
    -5
    
  3. Le fichier pour lequel le numéro sorti dans la sortie ci-dessus est modifié après avoir ajusté la luminosité est le fichier qui contrôle votre luminosité, vous devrez donc l'utiliser.

fauconnier
la source
C'est utile! La chaîne qui change est /sys/class/backlight/thinkpad_screen/brightness. Au minimum, il s'affiche 3, au maximum, il s'affiche 5. Lorsque je modifie la luminosité manuellement via des raccourcis clavier, la longueur de la barre de luminosité ne change également qu'une seule fois, même si la luminosité physique change de 10 niveaux?
BillyJean
1
@BillyJean Ensuite, il vous suffit d'utiliser celui-ci rc.local. Vous pouvez suivre ma réponse liée pour obtenir des instructions sur l'ensemble du processus. Je ne sais pas comment le retour graphique est affiché pour le changement de luminosité, cela peut être bogué. Vous pouvez echoautoriser des valeurs dans ce pseudo-fichier et voir comment la luminosité change (ne faites pas écho à une valeur supérieure au maximum ou inférieure à 0, mais même si vous le faites, je pense que cela ne posera aucun problème.), C'est également écrit dans mon autre réponse.
fauconnier
J'ai juste essayé d'ajouter echo 3 > /sys/class/backlight/thinkpad_screen/brightnessà mon rc.localfichier, mais rien n'a changé au redémarrage ... quand je lance sudo bash -c "echo 3 > /sys/class/backlight/thinkpad_screen/brightness"rien ne se passe du tout non plus. Peut-être y a-t-il un lien entre ces deux observations?
BillyJean
@BillyJean C'est étrange que cela ne changera pas la luminosité. Supposons que vous augmentiez la luminosité au maximum, alors cat /sys/class/backlight/thinkpad_screen/brightnesssignalez-en 5. C'est maintenant le cas sudo bash -c "echo 3 > /sys/class/backlight/thinkpad_screen/brightness". Rien ne change? Réexécutez-le cat /sys/class/backlight/thinkpad_screen/brightness, indique-t-il toujours 5 ou est-il changé en 3?
fauconnier
1
@BillyJean Strange.
fauconnier
0

C'est évidemment un problème de compatibilité du noyau avec certains matériels , et je veux juste que vous essayiez cette solution:

  1. Sauvegarde et ouverture du fichier grub . Ouvrez le terminal ( Ctrl+ Alt+ T) et tapez:

    sudo cp /etc/default/grub /etc/default/grub.bak
    sudo gedit /etc/default/grub
    
  2. Vous trouverez cette ligne dans la nouvelle fenêtre ouverte: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

    Changez-le en:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
    
  3. Enregistrez et fermez la fenêtre et mettez à jour votre grub:

    sudo update-grub
    
  4. Redémarrez votre système:

    sudo reboot
    

si la procédure ci-dessus ne fonctionne pas, répétez la même étape mais cette fois essayez de changer la ligne de l' étape 2 avec ceci:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"

Répondez en cas de problème. Si cela ne fonctionne pas, modifiez votre question et collez le contenu du fichier grub :cat /etc/default/grub

Saurav Kumar
la source
Merci, ça n'a pas marché. Collé mon contenu de fichier grub dans OP
BillyJean
@BillyJean: Je ne vois aucune différence. Votre fichier grub correspond à ce qui était attendu. Avez-vous essayé la deuxième option i, e en remplaçant la ligne par GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force"? Juste pour confirmation .. Je veux aussi que vous exécutiez cette commande après sudo update-grubcommande: sudo update-initramfs -uet redémarrez votre système. Répondre à ce qui se passe ..
Saurav Kumar
Oui, j'ai aussi essayé GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force". A également essayé de courir sudo update-initramfs -uaprès sudo update-grub, mais toujours rien après le redémarrage
BillyJean
1
@BillyJean: J'aimerais que quelqu'un comprenne et résout votre problème. Dans votre temps libre, vous pouvez passer par ce lien . J'espère que cela fonctionnera pour vous ..
Saurav Kumar
0

Ensuite, je baisse ma luminosité manuellement via les raccourcis clavier et réexécute la commande ...

Comme vous pouvez réduire la luminosité à l' aide Hokeys la suivante dbusou la xdotoolméthode devrait fonctionner

xbacklight

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

voie dbus

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

Réglez la luminosité à 30%:

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

Ou
Pour diminuer la luminosité d'un pas (~ 7)

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

Pour augmenter la luminosité d'un pas (~ 7)

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

S'il est indiqué comme suit, votre système d'exploitation est peut-être trop ancien. Utilisez ensuite xdotool:

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

xdotool

  • Augmentez la luminosité:

    $ xdotool key XF86MonBrightnessUp
    
  • Diminuer la luminosité:

    $ xdotool key XF86MonBrightnessDown
    

Après avoir testé avec succès la fourmi de la méthode ci-dessus, vous pouvez l'ajouter à /etc/rc.local

Façon logicielle
Si vous ne pouvez pas utiliser l'une des méthodes suivantes pour régler la luminosité de votre capot matériel, réglez la luminosité logicielle de votre écran.
xrandr --output OUTPUT --brightness VALUE
Par exemple,
xrandr --output LVDS1 --brightness 0.9
vous pouvez trouver des écrans connectés en utilisantxrandr | grep connected

totti
la source
J'ai essayé la première commande, ça me donne method return sender=:1.7 -> dest=:1.137 reply_serial=2 uint32 100, il ne se passe rien d'autre
BillyJean
Sortie attenduemethod return sender=:1.6 -> dest=:1.111 reply_serial=2 uint32 30
totti
Mais la luminosité n'est pas modifiée, cela ne me donne que cette sortie
BillyJean
Votre dernière suggestion avec des xrandrœuvres. L'utilisation de 0,6, par exemple, l'abaisse et 1,0 la maximise. Mais si j'utilise 0,5 et que je souhaite le monter au maximum avec des raccourcis clavier, cela s'arrête à env. 0,8. Il y a donc toujours un problème fondamental, mais au moins quelque chose fonctionne maintenant
BillyJean
Où dois-je ajouter la commande pour qu'elle soit exécutée au démarrage? J'ai essayé avec /etc/rc.local, mais cela ne change pas la luminosité au démarrage
BillyJean
0

J'ai eu un problème similaire sur mes t430 après avoir mis à niveau OpenSuse 12.3 (noyau 3.7) vers 13.1 (noyau 3.11). L'écran était toujours à la luminosité maximale au démarrage, mais ma plus grande préoccupation était que les touches de fonction de luminosité ne fonctionnaient pas (généralement). Xbacklight fonctionnerait (généralement), mais pas toujours. Si je modifiais la luminosité à 80 à l'aide de xbacklight, cela fonctionnerait. Si je le changeais à 70, rien ne se passerait jusqu'à ce que j'appuie sur la touche de fonction de réduction de la luminosité. Ensuite, il tomberait à (environ?) 70%. C'était vraiment bizarre.

Pour des raisons indépendantes, je suis passé à Mint 16 Cinnamon avant de trouver une solution. Les touches de fonction fonctionnent bien maintenant, donc je n'ai pas approfondi les choses. (Je ne suggère PAS de changer de distribution comme solution, BTW!) Avant de passer, voici ce que j'ai appris:

J'ai lu (quelque part ??) que les noyaux 3.8 + répondent à une tendance matérielle liée à Windows 8: Win8 nécessite que le matériel rapporte 101 niveaux de luminosité; le t430 ne supporte que 16. Je suppose que le noyau "demande" du matériel qui "pense" au 1 / 16ème pour un changement de luminosité de 1 / 101ème! (Veuillez ne pas me citer à ce sujet.)

Au lieu d'utiliser acpi_backlight=vendordans / etc / default / grub, vous pouvez essayer acpi_backlight="!Windows 2012"- c'est-à-dire lui dire "Je n'utilise pas Windows 8!" Certaines personnes d'OpenSuse ont eu du succès avec cela, bien qu'aucun d'entre eux n'utilisait des Thinkpad. Donner un coup de feu.

Shane Steinfeld
la source
@BillyJean - Aah - vous devrez probablement échapper aux guillemets autour de "! Windows2012" ou utiliser des guillemets simples à la place. (Je suis n / s!) GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=\"!Windows2012\""
Shane Steinfeld
Merci pour la suggestion. J'ai essayé les deux options (avec / sans guillemets), mais je n'ai malheureusement pas fonctionné. J'aurais dû aller avec le Mac ... :)
BillyJean