Linux でモニターの明るさをプログラムで変更するにはどうすればよいですか?
SLES11を使用しています。
いつも使えます
xrandr --output LVDS1 --brightness 0.9
xbacklight を使用してみることができます。
xbacklight -set 100
私のマシンでは、ルートとして次を実行します。
echo -n 10 > /sys/devices/virtual/backlight/acpi_video0/brightness
私にとっては、それで完璧に動作しxbacklight
ます。たとえば、キーバインドを設定したい場合は、次を使用できます
bindsym $SUPER+Shift+plus exec xbacklight -inc 10
bindsym $SUPER+Shift+minus exec xbacklight -dec 10
ウィンドウマネージャーの設定(私はi3を使用しています)で、画面の明るさのレベルを調整します。
xrandr
自動的に 100% の明るさで停止しないため、これはお勧めしません。
ddcutilアプリケーションは、VESA DDC/MCCS 標準を介して外部モニターの実際のバックライトの明るさを変更できます( xrandr は、モニターの現在設定されている制限内でのみ X11 出力を移動でき、実際のバックライトの明るさを変更することはできません)。これは、Display Data Channel を介してその機能をサポートするすべてのモニターで機能するはずです (DDC はしばらく前から存在しており、広くサポートされていますが、外部モニターのみ)。ddcutil を使用して、Web カメラからサンプリングされた環境光レベルに基づいてモニターを自動的に調整します。Ddcutil は i2c-dev カーネル モジュールを使用します (modprobe i2c-dev または起動時にロードするように設定します)。
ddcutil detect # Get list of DDC displays
ddcutil --display 2 capabilities # List VCP feature key numbers
ddcutil --display 2 getvcp 10 # Get brightness by key number
ddcutil --display 2 setvcp 10 50 # Set brightness to 50
xgammaの使用を検討するかもしれません。これは純粋なコードではありませんが、少なくとも単なるコマンド ライン ユーティリティです。
このためのコマンド:
xgamma -gamma 0.7