2015年9月28日月曜日

SSD を入れたマシンで LightDM が表示されない問題

友人と ThinkPad X201 に ArchLinux をインストールしていた際に、ディスプレイマネージャ(いわゆるログイン画面を出すソフトウェア)を導入した状態で起動すると、起動後に画面が真っ暗になり何も表示されなくなるという奇妙な問題に遭遇した。解決方法をメモとして残しておく。

(なお、記事のタイトルには LightDM と記載しているが、SLiM でも同様の問題が発生することを確認している。おそらく他のディスプレイマネージャでも発生する可能性がある。)

さて、友人の ThinkPad X201 は次のような構成になっている。
・Intel Core i5 540M
・RAM 4GB
・SanDisk SSD Plus 240GB

ここで注目して頂きたいのは、数世代前のスペックのマシンに最新の SSD を搭載している点である。つまり、処理速度に対してストレージが速すぎるのである。このため、ディスプレイマネージャの起動が追いつかなくなっている、という事が原因として考えられる。

海外のフォーラムでは「LightDM の起動を 2 秒遅らせる」という解決方法が一般的なようなので、ArchLinux でも同様の結果を得られるようシンプルなシェルスクリプトを作成した。

1. シェルスクリプトを作成する。

$ sudo nano /etc/lightdm/start-lightdm.sh

2. 以下の内容を記述する。

#!/bin/sh
/usr/bin/sleep 2
/usr/bin/lightdm

3. スクリプトに実行権を与える。

$ sudo chmod +x /etc/lightdm/start-lightdm.sh

4. systemd サービスを開く。

$ sudo nano /usr/lib/systemd/system/lightdm.service

5. ExecStart= 行を次のように書き換える。

ExecStart=/etc/lightdm/start-lightdm.sh

再起動を行うと、無事に LightDM が表示されるようになった。