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