TL; DR
- 作業ユーザを
videoグループに追加 - udevのrulesを追加し
brightnessデバイスへの書き込み権限を付与
概要
Thinkpad X1 Carbon(2019)を購入したので,Gentooをインストールした. が,F5, F6での明るさ調整が効かなかった. クッソまぶしい.
明るさ調整にはlightコマンドを用いたところ,sudo light -A 5のようにroot権限を用いると調整が行えた.
解決策
- 作業ユーザを
videoグループに追加する.
usergroupは以下で確認できる.
$ cut -d: -f1 /etc/group
そのなかでもメジャーなものは以下(独断).
| name | role |
|---|---|
| wheel | 管理権限作業用グループ |
| log | /var/log/ へのアクセス用グループ |
| video | ビデオキャプチャ・フレームバッファアクセス |
| docker | docker作業用グループ |
usermod -aG video ${USER}
usermodコマンドを用いて$USERをグループに追加する.
例えば$USERをdockerグループに追加した場合, $USERはdockerの操作に管理者権限が不要となる.
(ただ第三者が作成したスクリプトであってもroot権限で実行できるということなので,dockerを用いる場合にはnewgrpを用いて一時的にグループを変更するなどのほうがいいと思う. dockerの場合権限昇格などのリスクもあるので気をつけよう.お兄さんとの約束だよ)
brightnessデバイスの書き込み権限をvideoグループに付与する.
画面の明るさ(brightness)はudevによって管理されている.
/usr/lib/udev/rules.d/xx-brightness.rulesを次のように記述する.
ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"これで起動時にvideoグループに対してbrightnessデバイスへの書き込み権限が付与される.
追記
かわいい感じになりました. yay

Comments