web-dev-qa-db-fra.com

Réglage de la luminosité du moniteur de bureau

Est-il possible d'ajuster la luminosité du moniteur de bureau comme sur les ordinateurs portables?
Oui, tous les moniteurs de bureau ont un menu distinct pour cela.
Mais est-il possible de changer cela en quelque chose comme Winkey + (F1..F12)?

Le moniteur est connecté via un câble VGA ou DVI.

  • Système d'exploitation: Ubuntu 14.04
  • Moniteurs de bureau
2
UNIm95

Avec le script ci-dessous, vous pouvez régler la luminosité de l'écran de 0.1 à 1.0, en 9 étapes, sur tout système qui "obéit" xrandr.

Il suffit de l'exécuter avec l'argument "up" ou "down" pour augmenter/diminuer la luminosité actuelle d'un pas.

Le script

#!/usr/bin/env python3
import subprocess
import sys

arg = sys.argv[1]

# get the data on screens and current brightness, parsed from xrandr --verbose
current = [l.split() for l in subprocess.check_output(["xrandr", "--verbose"]).decode("utf-8").splitlines()]
# find the name(s) of the screen(s)
screens = [l[l.index("connected")-1] for l in current if "connected" in l]
# find the current brightness
currset = (round(float([l for l in current if "Brightness:" in l][0][1])*10))/10
# create a range of brightness settings (0.1 to 1.0)
sets = [n/10 for n in list(range(11))][1:]
# get the current brightness -step 
step = len([n for n in sets if currset >= n])

if arg == "up":
    if currset < 1.0:
        # calculte the first value higher than the current brightness (rounded on 0.1)
        nextbright = (step+1)/10
if arg == "down":
    if currset > 0.1:
        # calculte the first value lower than the current brightness (rounded on 0.1)
        nextbright = (step-1)/10
try:
    for scr in screens:
        # set the new brightness
        subprocess.Popen(["xrandr", "--output", scr, "--brightness", str(nextbright)])
except NameError:
    pass

Comment utiliser

  1. Copiez le script dans un fichier vide, enregistrez-le sous set_brightness.py
  2. Testez-le par les commandes:

    python3 /path/to/set_brightness.py up
    

    et

    python3 /path/to/set_brightness.py down
    
  3. Si tout fonctionne bien, ajoutez les deux commandes aux touches de raccourci: choisissez: Paramètres système> "Clavier"> "Raccourcis"> "Raccourcis personnalisés". Cliquez sur le "+" et ajoutez les deux commandes ci-dessus à deux touches de raccourci différentes.

Explication

L'explication sur le code est à peu près dans le script :)

Remarques

Dans l'état actuel des choses, les scripts définissent la luminosité de la même manière pour le ou les écrans "principaux" et éventuellement supplémentaires.

3
Jacob Vlijm