モブ沢工房

プログラミングとかLinux関連(特にOSSのグラフィックツール関連)とかレトロゲームとか3Dプリンタやら日曜大工等、色々。

Xubuntu 16.04.4でkabylake Intel HD 620のログイン画面を改善する

安物マザボのためか、kabylakeであるにもかかわらず三画面できないため 現在、EIZO EV2436W + IIYAMA X2380HS + Cintiq 13HDを接続して、スクリプトでX2380HSとCintiqを切り替えて使用しています。

まぁこれはこれで使えるというか、こういう時にスクリプト一発で切り替えができるのでLinuxは素晴らしい…というのはともかく、問題は何故かlightdmによるログイン画面で、Cintiq 13HD(HDMI-2)が優先されてしまいプライマリのはずのEV2436W(HDMI-1)が暗いまま…という、ね。

いや別に目押ししたりオートログインにしたりしてもいいんだけど、なんか釈然としないわけですコレ。

んで色々xorg.conf.dに書いて試してみたんですが…なんつーか全画面ブラックアウトとか、もっと酷いことになりまして。 結局この方向性は諦めてlightdm側で対処してみることにしました。

いろいろ調べた結果、

  • Xubuntu 16.04では/etc/lightdmにlightdm.confが存在しないため、コレを新設。
  • lightdm.confに以下の記述を追加
[SeatDefaults]
display-setup-script=/usr/local/bin/intel_hd620_setup.sh

んで、/usr/local/bin/intel_hd620_setup.shとして以下のスクリプトを作成。つか、これはもともと自動起動アプリケーションとしてxfce4から起動していたもので、目押しでログインしたらコイツが呼ばれて画面設定をする手はずになっていたのです。

なお、bashによる遅延実行をするのは、このスクリプトはcintiqがoffされるのをsleepで待つので、ログイン自体が遅くなるかなぁ〜と思って(まぁ0.5秒ぐらいどうだっていいのですが)後学の為にこうしてみました。 ちなみにsleepしないと、cintiqがoffされる前にEV2436Wをonしようとして失敗、サブ画面のX2380だけが点灯するという悲しい状況が「時折」(いつもではない)出現します。

#!/bin/bash
MAIN=HDMI-1
SUB=DP-1
CINTIQ=HDMI-2

(
xrandr --output $CINTIQ --off
sleep 0.5
xrandr --output $MAIN --auto
xrandr --output $SUB --right-of $MAIN --auto
) &

これで試した所、ログイン画面が望み通りEV2436Wに出現しました (^o^)