Xbacklight est un ensemble de commandes permettant la gestion de la luminosité.
xbacklight =50 #règle la luminosité à 50 %. xbacklight +10 #augmente la luminosité de 10 %. xbacklight -10 #diminue la luminosité de 10 %.
Souvent on peut éteindre l'écran grâce au contrôle (en passant à 0) ce qui n'est pas agréable. De plus la différence entre xbacklight =30 et xbacklight =80 est souvent beaucoup plus petite que dans les valeurs extrêmes. Ce script permet contrôler de manière plus agréable la luminosité :
touch retroeclairage && xdg-open retroeclairage
#!/bin/bash error="Usage: $0 up | $0 down" xbl=`xbacklight` limite1=2 limite2=10 limite3=40 limite4=100 if [ "$#" -eq 1 ] then if [ $1 = "up" ] then # Augmenter le rétroéclairage if [ $(echo "$xbl == $limite4"|bc) -eq 1 ] then echo "Rétroéclairage au maximum !" xbacklight = 100 else if [ $(echo "$xbl < $limite2"|bc) -eq 1 ] then xbacklight +1 else if [ $(echo "$xbl < $limite3"|bc) -eq 1 ] then xbacklight +10 else xbacklight +20 fi fi fi elif [ $1 = "down" ] then # Diminuer le rétroéclairage if [ $(echo "$xbl < $limite1"|bc) -eq 1 ] then echo "Rétroéclairage au minimum !" xbacklight =1 else if [ $(echo "$xbl < $limite2"|bc) -eq 1 ] then xbacklight -1 else if [ $(echo "$xbl < $limite3"|bc) -eq 1 ] then xbacklight -10 else xbacklight -20 fi fi fi else echo $error fi else echo $error fi exit</file> On [[:tutoriel:comment_modifier_un_fichier|copie]] le script dans le dossier **/usr/local/bin** avec les[[:sudo|droits superutilisateur]] et on le rend [[:tutoriel:script_shell#executer_un_script|éxécutable]] : <code>sudo cp retroeclairage /usr/local/bin && sudo chmod +x /usr/local/bin/retroeclairage
Pour l'utiliser, il suffit alors d'entrer l'une des deux commandes suivantes dans un terminal, ou de les assigner à une combinaison de touche.
retroeclairage up retroeclairage down
vous pouvez également émettre un son pour symboliser le maximum (ou le minimum) en ajoutant la ligne :
aplay "/Chemin_vers_mon_fichier/mon_fichier.wav"
juste après :
echo "Rétroéclairage au maximum/minimum !"
Au démarrage, en particulier sur un portable on peut effectuer le réglage de la luminosité en insérant la commande dans les applications au démarrage. En fixant par exemple la luminosité à 10 on aura un écran très peu éclairé.
L'environnement Gnome ou Unity ne conserve pas la luminosité de la dernière session au redémarrage. Voici une solution pour contourner cette limite. Elle est a construire en suivant les différentes étapes ci-dessous (nécessite des connaissances en script shell)
for vendor in $(ls /sys/class/backlight/); do printf "$vendor : " cat /sys/class/backlight/$vendor/brightness done
#!/bin/bash cat /sys/class/backlight/acpi_video0/brightness > /etc/brightness.save exit 0
#!/bin/bash cat /etc/brightness.save > /sys/class/backlight/acpi_video0/brightness exit 0
sudo chmod +x /etc/save_br_level.sh /etc/restore_br_level.sh
sudo ln -s /etc/save_br_level.sh /etc/rc0.d/S10brightness sudo ln -s /etc/save_br_level.sh /etc/rc6.d/S10brightness
# Restore backlight after restart # description "Restore backlight after restart" author "Id2ndR" start on ((filesystem and runlevel [!06] and started dbus and login-session-start) or runlevel PREVLEVEL=S) stop on runlevel [016] script exec /etc/restore_br_level.sh end script
Méthode basée sur cette source.
# Restore backlight after restart # description "Restore backlight after restart" author "Zarek" start on runlevel [2] script exec /etc/restore_br_level.sh end script
Éditez le fichier /etc/default/grub et modifiez la ligne : GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash”
en : GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash acpi_osi=Linux acpi_backlight=vendor”
Puis exécuter la commande :
sudo update-grub
Redémarrer la machine et tester.
Un petit cas particulier, il semblerait que pour les ordinateurs de la marque Sony Vaio il suffit d'installer le paquet spicctrl pour activer la gestion de la luminosité.
Pour la gamme de portable VPC. Informations prises du forum ubuntufourm.org ici. Suivez cette procédure:
Section "Device" Identifier "Default Device" Option "NoLogo" "True" Option "RegistryDwords" "EnableBrightnessControl=1" EndSection
lshal | grep system.hardware.vendor (E.g.: system.hardware.vendor = 'Sony Corporation )
lshal | grep system.hardware.product (E.g.: system.hardware.product = 'VPCF113FX' )
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.vendor" string="Sony Corporation"> <match key="/org/freedesktop/Hal/devices/computer:system.hardware.product" contains_outof="VPCF113FX"> <!-- needed since the acpi video module reports it handle the events, but it don't work on this machines--> <merge key="laptop_panel.brightness_in_hardware" type="bool">false</merge> </match> </match>
Concernant les touche Fn, logiquement cette installation devrait les activer.
Sur la gamme récente ATIV série 9, les touches de réglage de luminosité ont certes pour effet de déplacer un curseur virtuel de luminosité, mais pas de modifier réellement celle-ci.
Ce ne sont donc pas les touches de fonction qui posent problème mais bien leur prise en compte par le noyau ou le driver générique ATI.
Il en est de même pour le module xbacklight décrit ci-dessus: il est inopérant.
La solution à ce problème consiste à installer les drivers propriétaires Radeon et à utiliser Catalyst pour régler la luminosité.
La procédure est décrite ici pour un Samsung ATIV série 9, modèle NP905S3G.
La raison de ce problème est connue, les modèles Samsung N150/N210/N220 n'ont pas été intégrés aux règles udev. Pour résoudre cela :
Si cela ne fonctionne toujours pas :
[sS][aA][mM][sS][uU][nN][gG]
Elle représente la liste des modèles Samsung pris en compte,
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*NC10*|*NC20*|*N130*|*SP55S*|*SQ45S70S*|*SX60P*|*SX22S*|*SX30S*|*R59P/R60P/R61P*|*SR70S/SR71S*|*Q210*|*Q310*|*X05*|*P560*|*R560*|*N150/N210/N220*"
Faites la même opération pour le fichier /lib/udev/rules.d/95-keymap.rules.
Votre rétro-éclairage est maintenant gérable.
Dans certains cas, les touches fonction font planter l'ordinateur. Dans ce cas, utilisez l'applet de luminosité pour régler le rétro-éclairage.
Si les touches Fn n'influencent pas la luminosité, suivez ces indications:
Le fichier /sys/class/backlight/*/brightness contient un nombre compris entre 1 et 100 qui règle la luminosité. La commande suivante propose par exemple une luminosité à 18% :
echo "18" | sudo tee
ou ID est votre id et MACHINE le nom de votre PC ceci vous autorisera sur votre machine à utiliser la commande dans les scripts ci-dessous qui ont besoin de “sudo” sans mot de passe
ID MACHINE = NOPASSWD: /usr/bin/tee /sys/class/backlight/intel_backlight/brightness
source /opt/asus-brightness-master/bin/asus-brightness
à adapter ici c'est intel_backlight valeur comprise entre 500 et 5000
#!/bin/sh if [ "$1" = "inc" ]; then cd /sys/class/backlight/intel_backlight/ CURRENT=`cat /sys/class/backlight/intel_backlight/actual_brightness` TO=`expr ${CURRENT} + 500` echo "${CURRENT} + 500 = ${TO}" echo "${TO}" | sudo /usr/bin/tee /sys/class/backlight/intel_backlight/brightne ss elif [ "$1" = "dec" ]; then echo dec cd /sys/class/backlight/intel_backlight/ CURRENT=`cat /sys/class/backlight/intel_backlight/actual_brightness` TO=`expr ${CURRENT} - 500` echo "${CURRENT} - 500 = ${TO}" echo "${TO}" | sudo /usr/bin/tee /sys/class/backlight/intel_backlight/brightne ss elif [ "${1}" = "set" ]; then echo "set ${2}" cd /sys/class/backlight/intel_backlight/ CURRENT=`cat /sys/class/backlight/intel_backlight/actual_brightness` echo "${CURRENT} -> ${2}" echo "${2}" | sudo /usr/bin/tee /sys/class/backlight/intel_backlight/brightnes s else echo 'give me inc or dec' fi
chmod +x /opt/asus-brightness-master/bin/asus-brightness
dans /etc/pm/power.d création du fichier 00-brightness LES VALEUR MIN ET MAX en fonction de configuration
#!/bin/bash case $1 in true) echo "Enable screen power saving" echo "VALEUR MIN" | sudo /usr/bin/tee /sys/class/backlight/intel_backlight/brightness ;; false) echo "Disable screen power saving" echo "VALEUR MAX" | sudo /usr/bin/tee /sys/class/backlight/intel_backlight/brightness ;; esac
Redshift, logiciel permettant de de diminuer la luminosité avec des tons de couleurs qui s'adapte à votre position géographique.
Indicator-brightness qui permet de réglet la luminosité depuis la barre d'état dans unity.