Note to Self by notekunst

ただの備忘録です

画面の明るさを調整する(Ubuntu 20.04 on MacBookPro 15" Late 2013)

画面の明るさを調整するための設定

MacBookPro(15" Late2013)のUbuntu 20.04上でnvidiaドライバを用いる場合、追加の設定が必要です。
ネットで調べると、下記コマンドが見つかります。

$ sudo setpci -v -H1 -s 00:01.00 BRIDGE_CONTROL=0

これで、gnomeの設定画面や、キーボードの輝度調整キー(F1,F2の位置のキー)を用いて、画面の明るさを調整できます。しかし、Macを再起動すると、設定がクリアされてしまいます。
そこで、Macの起動時に上記コマンドを自動的に実行するための設定を行います。ここでは、"rc.local" を自動実行するsystemdのサービスを設定します。

コマンドファイルの準備

"/etc/rc.local"をサービスのコマンドとして準備します。このファイルに、以下を記載します。

#!/bin/sh
setpci -v -H1 -s 00:01.00 BRIDGE_CONTROL=0

このファイルの実行を許可します。

$ sudo chmod u+x /etc/rc.local
ユニットファイルの準備

ユニットファイルは、サービスの制御情報を記載するファイルです。
"man systemd.unit"に詳細があります。
ここでは、"/etc/systemd/system/rc-local.service"を、ユニットファイルとして準備します。このファイルに、以下を記載します。

[Unit]
 Description=Execute /etc/rc.local
 ConditionFileIsExecutable=/etc/rc.local

[Service]
 Type=simple
 ExecStart=/etc/rc.local

[Install]
 WantedBy=multi-user.target
サービスの有効化
$ sudo systemctl enable rc-local
サービスの開始とステータスの確認
$ sudo systemctl start rc-local
$ sudo systemctl status rc-local

この "rc.local" の処理はすぐに終了するので、正常に処理された場合であっても、以下のように、ステータスは "inactive" です。

Active: inactive (dead) since ....

ユニットファイルの "[Service]" に "RemainAfterExit=yes" を記載すれば、以下のように、処理の終了後もステータスは"active"に維持されます。

Active: active (exited) since ...

いずれにせよ、再起動後も、画面の明るさを調整できます。