例によってXubuntu を Dell の NewXPS13で使っていまして、ある日 sudo apt-get upgrade && reboot
しましたら、以降キーボードによるバックライトの明るさ調整ができなくなってしまいました。案外不便なもので対処法を調べて施しましたので、同じ事に悩む人向けにメモとしておきます。
対処方法
以下の2つのファイルを修正&追加しました。
- /etc/rc.local を修正
- /etc/pm/sleep.d/01_backlight を追加
/etc/rc.local には次のような行を exit 0
の前に追加しました。
echo 0 > /sys/class/backlight/intel_backlight/brightness
また /etc/pm/sleep.d/01_backlight は次のような内容です。
#! /bin/sh
case $1 in
resume)
echo 0 > /sys/class/backlight/intel_backlight/brightness
;;
esac
どちらも /sys/class/backlight/intel_backlight/brightness に 0 を書き込むだけですね。前者は起動時で、後者はスリープからの復帰時です。
解説
キーボードのバックライトの明るさ調整キーを押した場合には /sys/class/backlight/acpi_video0/brightness の変更が起こります。このファイルに 0 から同位置の max_brightness までの値を書き込むことで、バックライトの明るさが調整できます。
しかし /sys/class/backlight には intel_backlight/ ができることがあり、マルチモニタ環境では acpi_video0 による制御が効かなくなることがあるとのこと。その場合には intel_backlight/brightness に値を書き込むと acpi_video0/brightness が機能すると書かれていました。上記はそれをやっています。特に私のところでは 0 を書き込むのが一番好みの動作になったのですが、環境によっては異なる可能性があります。
あと、このあたりはカーネルパラメータで調整できるとの記述もありましたが、私の環境では機能しませんでした。