Milkのメモ帳

日々の思いつきを忘れないようにのメモ用です。

Milkのメモ帳

【Ubuntu】デュアルモニタのメイン画面の輝度を調整する


どうも。PCのモニタは2枚以上ないと作業効率が落ちると信じているMilkです。

ということで、私はPCはデュアルモニタにすることが多いです。

今使っているPCはノートPCですが、家にホコリをかぶっていたDellのモニタがありましたので、つなげて使用しています。

ですが、ここで問題が起きたのです。



外部出力モニタをつなげてUbuntuを起動すると、ノートPC側のモニタの輝度がMAX状態になるんです。

しかもそれだけではありません。輝度を下げる設定も調整出来なくなるのです。



困りました・・・ 明るすぎると、目が痛くなるし、頭痛はするしで、普段はかなり輝度を下げて作業をしています。

これは私にとって大問題なので、いろいろ調べまくりました。



グラフィックドライバを最新にする

念の為、グラフィックドライバを最新にしてみます。「システム設定」ー「詳細」で見てみると、私のノートPCのグラフィックは「intel ironlake Mobile」となっていました。

そこで、intelのドライバを更新するために以下のツールを使います。

Downloads | 01.org


ここで問題が起きました。私のUbuntuって、16.04 LTS版なんです。試しに、「Graphics Installer 1.4.0 for Ubuntu* 15.10, 64-bit」でやってみようとしたら、サポートしていないUbuntuバージョンなんで入れられません!と怒られました。

そこで、ちょっと小細工を行います。このツールに対して、「Ubuntu 15.10だよ」って勘違いをさせれば良いのです。


以下のサイトを参考にしました。(ありがとうございます。)
Ubuntu 16.04 – Installing the Intel Graphics drivers using the Intel Graphics Installer for Linux™ – Allan J. Bogh


Ubuntuのバージョンの情報は以下の場所にあります。中を開いて見ます。

$sudo vim /etc/lsb-release

内容はこうなっています。

ISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"

では、内容を書き換えましょう。(バックアップは必ずとっておいてください。再度、元に戻すために必要です。)

ISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.10
DISTRIB_CODENAME=wily
DISTRIB_DESCRIPTION="Ubuntu 15.10"

この状態で保存します。そして、intelのドライバ更新ツールを走らせます。

更新が終了すれば、正しい状態に戻す必要がありますので、先ほどのファイル内容を戻して下さい。



モニタの輝度情報の選択

次に、どんなグラフィックカードが入っているか確認します。

以下のサイトを参考にしました。(ありがとうございます。)

itsfoss.com


では、以下の階層を覗いてみましょう。

$ ls /sys/class/backlight/
acpi_video0  intel_backlight

どうも、2つありますね。起動時にacpi_video0の方が使われているのかな?

つまり外部出力モニタ側の方が、何故か輝度調整の対象になってるんでしょう。(多分・・・自信ない;)

そこで、intelのグラフィックカードに関するconfigファイルを作成し、/usr/share/X11/xorg.conf.d/20-intel.conf として格納します。

どうも、X11とは画面UI系の設定ファイル郡っぽいですね。

以下のサイトには、X11と関係がある 「x window system」について解説しています。(ありがとうございます。)

www.atmarkit.co.jp

しかし、初心者には難しい・・・ 謎が謎を呼ぶ。



気を取り直して、今はとりあえずファイルを作っちゃいましょう。内容は以下のようにします。

Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"
EndSection

ここまでくれば、再起動です!!

最近、良いコマンド覚えたんですよねー。

$ sudo reboot

これで強制再起動です。今まではshutdown -r now とか打ち込んでて、かったるいなーって思ってたんですけど(たまに綴り間違うし)、これならオプション指定も悩む必要なしです。

さて、私の場合はこれでデュアルモニタの状態で立ち上げても、ノートPCの画面の輝度調整が可能になりました!

ただし、ここでまた問題が発生です。




ログイン時にノートPC画面の輝度を調整する

なんと、起動するたびにノートPCの画面の輝度がMAX状態になるんです。しかも必ず・・・

これもまた少々面倒くさい。毎度調整し直すのもなぁ;

すると、以下のようなツールが存在するらしいということを見つけました。

以下のサイトを参考にしました。(ありがとうございます。)

qiita.com


つまり、やりたいこととしては、コマンドで強制的に輝度を調整し、そのコマンドをログイン時に自動実行すればよい!

よし試してみよう。

まずは、xbacklightなるツールをインストール

$ sudo apt-get install xbacklight

そして、輝度が変わるか試してみます。

$ xbacklight -set 22

私の環境ではうまく行きました!そして、sudo実行でなくても大丈夫。

よしよし。ならば自動実行に登録だ!



Ubuntuには、ログイン時に自動実行されるアプリケーションやコマンドを登録するツールが入っています。

Windowsで言うところの「スタートアップ」です。

Dashで”自動”と打ち込むと、「自動起動するアプリケーション」が出てくるはずです。

起動できれば、「追加」を押します。

私の場合は以下のように設定しました。

f:id:maxminkun:20160528114036p:plain



これで、一通り終了です。

デュアルモニタで輝度が調整できなくなる事象については、なかなか情報がなくて苦労しました。

他の方に適用できるか分かりませんが、手助けになれば幸いです。



では、楽しいUbuntu Lifeを!