web-dev-qa-db-ja.com

デスクトップモニターの輝度調整

ノートパソコンのようにデスクトップモニターの明るさを調整することは可能ですか?
はい、すべてのデスクトップモニターには個別のメニューがあります。
しかし、これをWinkey +(F1..F12)のようなものに変更することは可能ですか?

モニターはVGAまたはDVIケーブルを介して接続されます。

  • OS:Ubuntu 14.04
  • デスクトップモニター
2
UNIm95

次のスクリプトを使用すると、0.1から1.0までの画面の明るさを、9つのステップで、anyxrandrに「従う」システムで設定できます。

引数「up」または「down」のいずれかを指定して実行するだけで、現在の明るさを1ステップ増減できます。

スクリプト

#!/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

使い方

  1. スクリプトを空のファイルにコピーし、set_brightness.pyとして保存します
  2. 次のコマンドでテスト実行します。

    python3 /path/to/set_brightness.py up
    

    そして

    python3 /path/to/set_brightness.py down
    
  3. すべてが正常に機能する場合は、両方のコマンドをショートカットキーに追加します。[システム設定]> [キーボード]> [ショートカット]> [カスタムショートカット]を選択します。 [+]をクリックして、上記の両方のコマンドを2つの異なるショートカットキーに追加します。

説明

コードの説明は、ほとんどスクリプトにあります:)

ノート

そのままで、スクリプトは「メイン」画面と追加可能な画面の両方の輝度を等しく設定します。

3
Jacob Vlijm