URL: https://linuxfr.org/users/harlock974/journaux/reglage-du-contraste-sur-ordinateur-portable Title: Réglage du contraste sur ordinateur portable Authors: harlock974 Date: 2020年04月20日T15:08:33+02:00 License: CC By-SA Tags: bash, écran, affichage et linux_mint Score: 25 Bonjour à tous, L'affichage de mon ordinateur portable étant un peu fadasse, je cherchais à en améliorer le contraste. Mais il n'y a aucun bouton matériel pour cela (comme sur les écrans externes), ni aucun utilitaire dédié dans les outils de configuration de ma distribution (Linux Mint / Mate). Peut-être ai-je mal cherché, mais je n'ai rien trouvé non plus dans les dépôts. En revanche, il existe plusieurs méthodes en ligne de commande, dont la plus simple semble être la commande `xgamma`. Comme c'est un peu laborieux d'ouvrir le terminal à chaque fois, j'ai fait le script suivant : ```bash #!/bin/bash while true;do g0=`xgamma 2>/dev/stdout | cut -f 10 -d ' '` g0=`awk "BEGIN {printf \"%.0f\n\",-10.0/1.8*$g0+19.0/1.8}"` g=`zenity --scale --value=$g0 --min-value=0 --max-value=10 --text="Contraste" --title="Affichage"` if (($?==1));then exit;fi g=`awk "BEGIN {printf \"%.1f\n\",-0.18*$g+1.9}"` xgamma -gamma $g done ``` Ce script, bien que court, contient plusieurs concepts intéressants : - zenity, qui ajoute à un code bash des composants graphiques. Ici on ajoute un curseur (`--scale`) - la redirection d'erreur : la commande `xgamma` utilisée seule renvoie la valeur actuelle de gamma de l'affichage, mais sur la sortie d'erreur. De ce fait, on ne peut pas la récupérer dans une variable ou la traiter avec `cut`. Il faut donc la rediriger vers la sortie standard avec `2>/dev/stdout` - le code de retour d'une commande : le curseur créé avec zenity a un bouton valider, qui renvoie la valeur du curseur, et la commande annuler, qui ne renvoie rien de visible. Mais on peut récupérer l'état de sortie du programme avec la variable `$?` qui vaut 0 avec le bouton valider, et 1 avec le bouton annuler (on aurait peut-être aussi pu tester si `$g` était vide) - awk, qui permet de faire en même temps du calcul avec des flottants et une sortie formatée (`printf`) Et après, il est possible de rendre le script exécutable, et de créer un bouton contraste dans le tableau de bord pour l'appeler... 