Pour contourner le problème bug n ° 1005495 (changer LCD la luminosité via des raccourcis clavier impossibles), j'aimerais avoir une requête en ligne de commande pour augmenter et une pour réduire la luminosité de mon LCD. Je pourrais ensuite mapper un raccourci clavier à chacune de ces requêtes.
Le problème est le suivant: je ne sais pas comment augmenter et réduire la luminosité LCD sur la ligne de commande. Le faites vous?
Une autre façon de faire est d’utiliser un autre nouveau programme nommé xbacklight, ouvrez votre terminal et tapez ceci.
Sudo apt-get install xbacklight
puis tapez ce xbacklight -set 50
là 50 signifie la plage de luminosité, nous pouvons obtenir jusqu’à 100 à partir de 0.
vous pouvez également augmenter et diminuer la luminosité de la valeur actuelle au niveau spécifié. Comme vous l'avez indiqué si vous souhaitez augmenter la luminosité jusqu'à 10%, vous pouvez indiquer cette valeur.
xbacklight -inc 10
et pour diminuer de 10%, vous pouvez donner cette
xbacklight -dec 10
Avertissement : xbacklight
ne fonctionne qu'avec Intel, pas correctement sur Radeon et pas du tout avec le pilote modesetting ( source ).
Ouvrez votre terminal et tapez ceci
xrandr -q | grep " connected"
il vous donnera la sortie comme
LVDS1 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
Il LVDS1 représente votre affichage. Alors maintenant, vous devez faire comme
xrandr --output LVDS1 --brightness 0.5
0,5 correspond au niveau de luminosité et il est compris entre 0,0 et 1,0. 0.0 -> Full black. Vous devez donc choisir la valeur de luminosité requise.
Cela ne modifie pas la luminosité au niveau matériel . De randr
manual :
--brightness brightness
Multipliez les valeurs gamma sur le crtc actuellement attaché à la sortie avec la valeur flottante spécifiée. Utile pour les sorties trop brillantes ou trop faibles. Cependant, il s’agit d’une modification logicielle uniquement . Si votre matériel prend en charge la modification de la luminosité, vous préférerez probablement utiliser xbacklight.
Ce qui suit fonctionne pour moi:
echo 400 | Sudo tee /sys/class/backlight/intel_backlight/brightness
Je suppose que la valeur maximale possible est dans le fichier /sys/class/backlight/intel_backlight/max_brightness
.
Remplacez intel_backlight
par un astérisque à appliquer à tous les rétroéclairages.
Pour les ordinateurs portables,
Sudo setpci -s 00:02.0 F4.B=80
Modifiez 80
by [0-FF]
pour obtenir la luminosité la plus faible, la plus élevée. La valeur spécifiée est en hexadécimal, donc 80
vous donnera un 50%
de luminosité maximale.
Pour que les ordinateurs de bureau fassent un correction gamma (non testé par moi),
xgamma -gamma .75
Faites ce script:
set-brightness.sh
#!/bin/bash
TARGET="acpi_video0"
cd /sys/class/backlight
MAX="$(cat "${TARGET}/max_brightness")"
# The `/1` at the end forced bc to cast the result
# to an integer, even if $1 is a float (which it
# should be)
LOGIC="$(echo "($1 * ${MAX})/1" | bc)"
for i in */; do
if [[ "${TARGET}/" != "$i" && -e "${i}brightness" ]]; then
cat "${i}max_brightness" > "${i}brightness"
fi
done
echo "$LOGIC" > "${TARGET}/brightness"
Exécutez-le en tant que root, avec une valeur comprise entre 0 et 1.
Sudo ./set-brightness.sh 0.5
/sys/class/backlight/acpi_video0
, il devrait y avoir au moins un répertoire, qui peut être spécifique à un périphérique (j'ai aussi un radeon_bl0
, par exemple).acpi_video0
devrait fonctionne toujours, il n’a pas toujours la gamme complète de luminosité physique disponible. Essayez chacune d’elles et utilisez celle qui a la plus grande gamme comme "CIBLE"Essayez ceci dans le terminal:
xrandr --output LVDS1 --brightness 0.9
Vous pouvez modifier la dernière valeur à votre guise, par exemple. 0,2
Comme @palacsint l'a dit, echo 244 > /sys/class/backlight/intel_backlight/brightness
path fonctionne pour moi.
Mais les valeurs max et min sont renvoyées dans les fichiers /sys/class/backlight/intel_backlight/max_brightness
et /sys/class/backlight/intel_backlight/bl_power
respectivement.
De plus, la luminosité actuelle de votre ordinateur est présente dans /sys/class/backlight/intel_backlight/actual_brightness
Les étapes de luminosité pour le contrôle du clavier peuvent également être mises en œuvre avec cette méthode.
# Step up:
gdbus call --session --dest org.gnome.SettingsDaemon.Power --object-path /org/gnome/SettingsDaemon/Power --method org.gnome.SettingsDaemon.Power.Screen.StepUp
# Step down:
gdbus call --session --dest org.gnome.SettingsDaemon.Power --object-path /org/gnome/SettingsDaemon/Power --method org.gnome.SettingsDaemon.Power.Screen.StepDown
/sys/class/backlight
.xbacklight
ne fonctionne pas toujours .xrandr
just faire un correction gammaqdbus org.kde.Solid.PowerManagement /org/kde/Solid/PowerManagement/Actions/BrightnessControl setBrightness 55
Le code ci-dessus est toujours valide. Cela ne fonctionnera que si vous êtes un utilisateur de KDE. Cependant, dans ce cas, aucun logiciel supplémentaire ne sera nécessaire. Il aura exactement le même comportement que lors de l'utilisation du widget "batterie et luminosité". Autant que je sache, cela change le rétro-éclairage physique, contrairement à xrandr
qui ne le fait pas.
Attention, le 55 ci-dessus n'est pas une fraction de 100, ce dernier étant la luminosité maximale. Au lieu de cela, il est lié à max_brightness:
qdbus org.kde.Solid.PowerManagement /org/kde/Solid/PowerManagement/Actions/BrightnessControl brightnessMax
Il existe également une version "silencieuse" que vous pourriez préférer dans un script:
qdbus org.kde.Solid.PowerManagement /org/kde/Solid/PowerManagement/Actions/BrightnessControl setBrightnessSilent 2000
Réf: qdbus , plein , luminosité
En utilisant les réponses ci-dessus, j'ai créé ce script (enregistré dans mon répertoire personnel sous le nom de brillance.sh) pour modifier la luminosité de l'écran (car le clavier de l'ordinateur portable avait un problème de thé renversé et devenait inutilisable). N'hésitez pas à l'utiliser (si vous avez les fichiers désignés ... sinon, bricoler pour indiquer votre variante sera nécessaire).
#!/bin/bash
function main_menu
{
Sudo clear
cursetting=$(cat /sys/class/backlight/intel_backlight/brightness)
maxsetting=$(cat /sys/class/backlight/intel_backlight/max_brightness)
powersave=$((maxsetting/5))
conservative=$((powersave*2))
medium=$((powersave*3))
performance=$((powersave*4))
echo ""
echo "----------------------- Brightness -----------------------"
echo " 1. Set Display to Minimum (Powersave) brightness setting."
echo " 2. Set Display to Low (Conservative) brightness setting."
echo " 3. Set Display to Medium brightness setting."
echo " 4. Set Display to High (Performance) brightness setting."
echo " 5. Set Display to Maximum brightness setting."
echo " 6. Exit."
echo "----------------------------------------------------------"
if [ $cursetting -eq $powersave ]; then
cursetting='Minimum'
else
if [ $cursetting -eq $conservative ]; then
cursetting='Conservative'
else
if [ $cursetting -eq $medium ]; then
cursetting='Medium'
else
if [ $cursetting -eq $performance ]; then
cursetting='Performance'
else
if [ $cursetting -eq $maxsetting ]; then
cursetting='Maximum'
fi
fi
fi
fi
fi
echo " Current Display Setting - "$cursetting;
choice=7
echo ""
echo -e "Please enter your choice: \c"
}
function press_enter
{
echo ""
echo -n "Press Enter to continue."
read
main_menu
}
main_menu
while [ $choice -eq 7 ]; do
read choice
if [ $choice -eq 1 ]; then
echo $powersave | Sudo tee /sys/class/backlight/intel_backlight/brightness
main_menu
else
if [ $choice -eq 2 ]; then
echo $conservative | Sudo tee /sys/class/backlight/intel_backlight/brightness
main_menu
else
if [ $choice -eq 3 ]; then
echo $medium | Sudo tee /sys/class/backlight/intel_backlight/brightness
main_menu
else
if [ $choice -eq 4 ]; then
echo $performance | Sudo tee /sys/class/backlight/intel_backlight/brightness
main_menu
else
if [ $choice -eq 5 ]; then
echo $maxsetting | Sudo tee /sys/class/backlight/intel_backlight/brightness
main_menu
else
if [ $choice -eq 6 ]; then
exit;
else
echo -e "Please enter the NUMBER of your choice: \c"
choice = 7
fi
fi
fi
fi
fi
fi
done
Voici une courte ligne qui peut vous aider à détendre vos yeux. Il suffit de créer une crontaab avec la ligne ou de créer un script
xrandr --output VGA1 --brightness 0.5; sleep 20; xrandr --output VGA1 --brightness 1
ddccontrol est une autre option permettant de contrôler le rétroéclairage des moniteurs externes. Ici, je peux régler le rétroéclairage de mon moniteur externe à 50% de sa puissance avec:
ddccontrol -p -r 0x10 -w 50
J'ai cherché des solutions possibles à ce problème pour améliorer la façon dont Redshift gère changements de luminosité . Par là, j’ai trouvé qu’il existe un patchset pour le noyau Linux afin d’améliorer la compatibilité entre périphériques, afin que les ordinateurs portables et les écrans externes puissent fonctionner de la même manière, grâce à sysfs
.
En attendant, ddccontrol est la seule chose qui fonctionne pour moi ici. Comme d'habitude, Arch wiki a bonne documentation générale sur le sujet également.
Interface utilisateur interactive de type ncurses utilisant xbacklight
Un pauvre homme ncurses. Appuyez sur h
et il diminue de 10%, puis sur l
et augmentez de 10%. Ensuite, affichez la luminosité actuelle.
xback() (
done=false;
echo "less: h, more: l, quit: q"
while ! $done; do
read -rsn1 key
if [ "$key" = h ]; then
xbacklight -dec 10
Elif [ "$key" = l ]; then
xbacklight -inc 10
Elif [ "$key" = q ]; then
done=true
fi
printf "\r$(xbacklight -get) "
done
)