ノートパソコンのモニタの明るさを設定する

提供: Akionux-wiki
Share/Save/Bookmark
移動先: 案内検索

概要

Linuxでノートパソコンのモニタの明るさを調節する方法を紹介する。 archlinuxのwiki[1]を参考にした。参考元には網羅的に調節方法が載っているので詳しくはそちらを参考にしたほうが良い。

ベンダー固有のホットキーによる調節や、setpciを用いたハードウェアへの書き込みをする方法もあるようだが、 ここではACPIを用いた方法のみを紹介する。

テスト環境

Linux Mint 17

ACPIによる方法

/sys/class/backlightにACPIカーネルモジュールへのインターフェースがある:

% ls -l /sys/class/backlight
合計 0
lrwxrwxrwx 1 root root 0 11月 29 22:13 acpi_video0 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/backlight/acpi_video0/
lrwxrwxrwx 1 root root 0 11月 29 22:13 acpi_video1 -> ../../devices/pci0000:00/0000:00:02.0/backlight/acpi_video1/
lrwxrwxrwx 1 root root 0 11月 29 22:13 intel_backlight -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1/intel_backlight/

インテルグラフィックスカードの場合はintel_backlight、nVidiaやATIのグラフィックスカードの場合はacpi_video0のディレクトリで管理されているらしい。 以降はacpi_video0を例に取る。

acpi_video0には次のようにファイル・フォルダがある:

% ls /sys/class/backlight/acpi_video0/                 
actual_brightness  brightness  max_brightness  subsystem@  uevent
bl_power           device@     power/          type

max_brightnessに最大の明るさのときの整数値が載っているので確認しよう:

% cat /sys/class/backlight/acpi_video0/max_brightness
10

brightnessへ整数を上書きすれば明るさを変更できる:

tee /sys/class/backlight/acpi_video0/brightness <<< 0

udev ruleで起動時の明るさを設定する

udev ruleを書いておけば起動時に明るさを設定することができる。

例えば先ほどのacpi_video0を使った例の場合は、/etc/udev/rules.d/81-backlight.rulesを以下のように作成すれば起動時に明るさが最小になる:

# Set backlight level to 0
SUBSYSTEM=="backlight", ACTION=="add", KERNEL=="acpi_video0", ATTR{brightness}="0"

References