Ubuntu16.04でGDMが起動途中に死んでしまうのを直した話
Ubuntu16.04(Unity)にGNOME3を入れて、LightDM+GNOME3でしばらく動かしていた。その後にLightDMからGDMに変えたらGDMが起動途中に事切れてログインできなくなってしまったのを直しました。結論から言うと、
$ sudo dpkg-reconfigure gdm3
で直ったんですが、その前に紆余曲折があってどれが主原因だったのかわからないので記録しておきます。
GDM入れた直後の状態
GDMを入れて、「確かArch Wikiにこんなこと書いてあったなー」と思って
$ sudo systemctl disable lightdm $ sudo systemctl enable gdm
とした所次に再起動した時には死んでいました...。起動画面はBtrfs scanとかなんとか言って止まっていた。TTYを変えるとCUIでログイン可能だったので助かりました。
この段階で、
- Unity Desktop
- LightDM
- GNOME3
- GDM
がインストールされていました。
CUIログインして startx
とすると一応GNOME3が起動することが確認できました。
試行錯誤してみる
とりあえずググると dpkg-reconfigure gdm
でLightDMからGDMに切り替わるらしいという情報を得たのでやってみたのですが断念(何故この時駄目だったのか...???)。そこでGDMを入れなおしてみたり、 ubuntu-gnome-desktop
パッケージを入れたり、 ubuntu-desktop
をpurgeしてみたものの直らず。この段階でgdm.serviceをenableしているにも関わらず、startxしたあとのgdm.serviceはinactive (dead)になっていることが判明。他のUbuntuマシンの状態を確認すると、ログイン後もGDMサービスが起動していたので、このあたりがおかしいらしい?と推理してみました。
そこでCUIログインした状態で systemctl gdm.service start
した所GDMのログイン画面が登場。なんもわからん。もちろん再起動しても死んだまま。まじでわからん。
成功する
色々探した結果、また最初のコマンドが現れたのでダメ元で試したところ起動しました。次のコマンドです(最初と同じ)。
$ sudo dpkg-reconfigure gdm3
gdm
と gdm3
に差があるのかと言われると、 systemctl status gdm3.service
としても gdm.service
の状態が表示されたので怪しそう。いやちゃんと調べろよという話なんですが。
多分Unity周りのパッケージを消したのが良かったのかな?くらいしかわかりませんでした。というわけで記憶に怪しいコマンドは適当に入力しないようにしましょう。