Que dois-je faire pour que mes commands de luminosité du rétroéclairage de mon ordinateur portable fonctionnent? J'ai actuellement Ubuntu 13.04 et un Dell Studio 1558.
Après avoir lu ces deux liens:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1007765
http://ubuntuforums.org/showthread.php?t=2061712
J'ai tenté ce qui suit, je change les permissions (puisque j'avais des erreurs d'édition des files)
sudo chmod a+w /sys/class/backlight/intel_backlight/brightness
Et puis j'ai écrasé le file avec 1000
(apparaît max_brightness
est 4882
)
sudo echo 1000 > /sys/class/backlight/intel_backlight/brightness
Et voilà, mon écran s'est atténué.
Je l'ai modifié avant, je ne sais pas exactement comment, et je ne sais pas pourquoi je devais changer les permissions sur le file à nouveau, si je l'ai fait de cette façon avant.
Comment puis-je régler la luminosité avec les touches standard?
$ xbacklight +30% # increases brightness by 30 percent $ xbacklight -30% # decreases brightness by 30 percent
$ 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é par 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é par 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 dit que votre operating system peut être trop vieux. Utilisez ensuite xdotool
:
Error org.freedesktop.DBus.Error.UnknownMethod: Method "SetPercentage" with signature "u" on interface "org.gnome.SettingsDaemon.Power.Screen" doesn't exist
Augmenter la luminosité:
$ xdotool key XF86MonBrightnessUp
Diminuer la luminosité:
$ xdotool key XF86MonBrightnessDown
Eh bien, je n'ai pas fait ce que dit la réponse acceptée. C'est une fonction dans mon .bashrc
:
bright () { sudo sh -c "echo $1 > /sys/class/backlight/intel_backlight/brightness " ; }
Je l'utilise comme ça –
Luminosité complète:
$ bright 4882
Environ un dixième de luminosité:
$ bright 482
Et parce que la fonction utilise sudo, je dois taper mon mot de passe, ce qui est correct avec moi.
Voici 2 scripts alternatifs.
Enregistrez-le en tant que brightness_change.sh
et placez-le dans un dossier faisant partie de votre variable d'environnement $ PATH. L'utilisation est simple: brightness_change.sh up
/ brightness_change.sh down
.
Vous pouvez ensuite assigner le script à une binding de key, prenez soin de spécifier le path complet de la command.
1. script DBUS (pour gnome)
Je préfère l'approche Dbus parce que:
Ici le script
#!/bin/bash function up(){ dbus-send --session --type="method_call" --dest="org.gnome.SettingsDaemon" /org/gnome/SettingsDaemon/Power org.gnome.SettingsDaemon.Power.Screen.StepUp } function down(){ dbus-send --session --type="method_call" --dest="org.gnome.SettingsDaemon" "/org/gnome/SettingsDaemon/Power" "org.gnome.SettingsDaemon.Power.Screen.StepDown" } if [[ $1 = "up" ]] then up elif [[ $1 = "down" ]] then down fi
2. Utilisation des files / sys /
L'utilisation de cette méthode nécessite que vous changiez l'autorisation du file de destination dans / sys / (chaque démarrage), soit vous pouvez avoir la command à /etc/sudoers
pour n'exiger aucun mot de passe
Je ne savais pas comment mettre en œuvre la première façon, donc j'ai ajouté cette ligne à /etc/sudoers
(où fra est mon user)
fra ALL=(ALL) NOPASSWD:/home/fra/bin/bright_change.sh
Maintenant, vous pouvez appeler la command avec sudo sans que vous soyez invité à entrer le mot de passe (il y a certainement un trou dans la security alors faites attention à ça)
#!/bin/bash file="/sys/class/backlight/intel_backlight/brightness" level=$(cat $file) inc=100 if [ $level -lt "600" ] then inc=50 fi function up(){ newlevel=$(($level+$inc)) echo $newlevel } function down(){ newlevel=$(($level-$inc)) if [ $newlevel -lt "10" ] then newlevel=1 elif [ $newlevel -lt "100" ] then newlevel=10 fi echo $newlevel } if [[ $1 = "up" ]] then newlevel=$(up) elif [[ $1 = "down" ]] then newlevel=$(down) fi echo $newlevel # echo $level echo $newlevel > $file