小技チョコレート

ちょっとした小技を紹介するだけのブログです。

GNOME系デスクトップ環境で画面の明るさが維持されない問題の対処法

GNOMEや、GNOMEから派生したデスクトップ環境を用いるLinuxUbuntu、Manjaro GNOME Edition、Ubntu Budgieなど)において、ログイン後に端末で

$ xrandr --output VGA1 --brightness 0.7

などと入力すると、画面の明るさ(輝度)を変えることができますが、その操作を実行した後で、別のアクション(アプリケーションのウィンドウを開いたり、テキストエディタに文字を入力したり)をすると、画面の明るさが勝手に元に戻ってしまう(100%の明るさに戻る)という不具合が起こることがあります。

筆者は、この不具合を下記の4つのOSで経験しています。いずれも、GNOMEまたはGNOMEから派生したデスクトップ環境です。*1

  • Ubuntu 18.04 LTS
  • Manjaro GNOME Edition 17.1.10
  • Ubuntu Budgie 18.04 LTS
  • Zorin OS 12.3 Core

この不具合の対処法が、AdamKane41氏によりGitHubに発表されていたので、ここに和訳しておきます。*2 Ubuntu 18.04 LTSとManjaro GNOME Edition 17.1.10とUbuntu Budgie 18.04 LTSでこの対処法を実行してみたところ、成功しました(ログイン中には、明るさが勝手に100%に戻ることはなくなった)。


(ここからは翻訳)

※原文はこちら:Sometimes when I open a window (especially chromium) brightness controller resets brightness settings to default (not on app ui) · Issue #102 · LordAmit/Brightness · GitHubにおけるAdamKane41氏の回答

この不具合は /usr/lib/gnome-settings-daemon/gsd-color (GNOME Settings Daemon's color plugin) によって起こります。これがログイン時に自動で実行されることを防ぐことにより、xrandrコマンドなどで設定した画面の明るさや色を維持することができます。

設定方法

(1) GNOME Settings Daemon's color plugin は「自動起動するアプリケーション」にデフォルトで登録されていますが、デフォルトでは「自動起動するアプリケーション」のウィンドウ内に表示されない設定になっているので、端末で下記のコマンドを実行して、同ウィンドウ内に表示させるようにします。

sudo sed -i "s/NoDisplay=true/NoDisplay=false/g" /etc/xdg/autostart/*.desktop ~/.config/autostart/*.desktop

(2) 「自動起動するアプリケーション」を開きます(端末で gnome-session-properties と実行すれば開く*3)。そのウィンドウの中で、"GNOME Settings Daemon's color plugin"というタイトルのものを見つけ、オン/オフのスイッチを動かして「オフ」にしてから、このウィンドウを閉じます。

自動起動するアプリケーション
(「自動起動するアプリケーション」ウィンドウ内の"GNOME Settings Daemon's color plugin"。画像はGithubから引用)

(3) その後でログオフして再びログインし、上述のようなxrandrコマンドやBrightness Controllerのようなソフトで明るさや色を設定すれば、ログイン中にそれが勝手に変更されることはなくなります。

(4) そのとおりになったら、 GNOME Settings Daemon's color plugin を「自動起動するアプリケーション」のウィンドウ内に表示させるようにした上述の設定(1)を元に戻すために、下記のコマンドを端末で実行しましょう。

echo NoDisplay=true | find /etc/xdg/autostart ~/.config/autostart -name \*.desktop -exec sudo tee -a {} + >/dev/null

すべてをデフォルトに戻す方法

上述の設定をすべて取り消して元に戻すには、再び上述の1〜4を実行します。ただし、2のところで"GNOME Settings Daemon's color plugin"を(オフにするのではなく)オンにします。

(翻訳終わり)


その他の設定方法

Ubuntuの場合、 /etc/xdg/autostart/ に org.gnome.SettingsDaemon.Color.desktop というファイルがあります。これが、上述の手順において自動起動をオフにする対象となっているファイルでしょう。このファイルの内容は、デフォルトでは下記のようになっていると思います。

[Desktop Entry]
Type=Application
Name=GNOME Settings Daemon's color plugin
Exec=/usr/lib/gnome-settings-daemon/gsd-color
OnlyShowIn=GNOME;
NoDisplay=true
X-GNOME-Autostart-Phase=Initialization
X-GNOME-Autostart-Notify=true
X-GNOME-AutoRestart=true
X-Ubuntu-Gettext-Domain=gnome-settings-daemon

このファイルの末尾に、

X-GNOME-Autostart-enabled=false

と付け加えるだけでも、上述の手順の実行結果と同じ状態にできると思います*4*5

なお、この org.gnome.SettingsDaemon.Color.desktop というファイルは、ホームディレクトリの下の .config/autostart/ にも存在しているかもしれないので、存在していればそちらも同様に編集すべきかもしれません。

関連記事

*1:デスクトップ環境がXfceやCinnamon、KDE、MATEであれば、この不具合は起こりませんでした。

*2:訳者による補足を適宜入れていますので、原文にない文言もあります。

*3:Manjaro GNOME Editionなどのように、「自動起動するアプリケーション(gnome-session-properties)」がデフォルトではインストールされていないディストリビューションもあります。その場合は、この記事の後半に載せている「その他の設定方法」を実行すればよいと思います。

*4:このファイルをそのように編集するには、例えばテキストエディタとしてgeditを使う場合なら、端末で sudo gedit /etc/xdg/autostart/org.gnome.SettingsDaemon.Color.desktop と実行する。

*5:NoDisplay=true のところを NoDisplay=false に変えれば、"GNOME Settings Daemon's color plugin"が、上述の画像のように「自動起動するアプリケーション」のウィンドウ内に表示されるようになると思います。