yyy

CTFつよくなりたい

UbuntuのGUIが死んだ日

はじめに

先日,仙台CTFというイベントに参加したのですが,その際VirtualBoxに入れてある普段本当によく使うUbuntu16.04が,GUIが死んで画面が真っ暗になるという事故が起きていました.

このイベントでは仮想マシンが事前に配られてそれを使うのですが,CTF中は使い慣れたマシンも使いたいという思いがあったので,焦りました.

なんでこんなことが起きたのかというと,自分はWindows10でVirtualBoxを使っているのですが,会場でPCを1度シャットダウンする機会があったんですね.そこで,よく「起動中のプログラムがありますが,本当にシャットダウンしますか?」みたいにOSが気をきかせて言ってくることがあると思うんですけど,その際VirtualBoxが起動していたのですがそのまま気にせずシャットダウンしてしまいました.

今までもそれで不都合が起きたことはなかったので気にはしていなかったのですが,再びWindowsを起動し,VirtualBoxも起動してUbuntuを立ち上げてみたら,

f:id:ywkw1717:20171114071309p:plain

真っ暗なんですね.

流石に焦ったのですが,「Ubuntu 真っ暗」とかで検索かければまぁいろいろ出てくる出てくるで,いくつか試せば簡単に直るやろ!wと思って試してみるも全く直る気配なし.

結局,Ubuntu14.04も入れてあったので,そちらを使ってなんとか乗り切りました.

その後

頑張って直しました.

試したことを時系列順に書こうかと思ったのですが,3つのカテゴリーに分けて箇条書きにしました.

役に立ったこと

/sbinへのPATHが通っておらず,upstart-udev-bridgeがないというエラーが出ていたので,/etc/environmentにPATHを書いた

.xsession-errors を見てみると,以下のようなエラーが出ていました.

f:id:ywkw1717:20171114073323p:plain

そこで, /etc/environment

PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/games:/usr/local/games"

という, .zshrc に書いていたPATHをこちらにも書きました.

これが一番の原因だったっぽい.

lightdmのログを見てみる

/var/log/lightdm/lightdm.log を見てみて,どれが原因なのかわからなかったけど,確かここで上記の .xsession-errors という単語を知ったので,一応は役に立った?

役に立ったのか不明なこと

デスクトップ環境をUnityからGnomeに変更

ディスプレイマネージャーであるlightdmの原因かな?と思い,再インストールやらなんやらやっても直らなかったので,Unityの問題である可能性を考えて,Gnomeを入れてみた.

sudo apt-get install ubuntu-gnome-desktopsudo apt-get install gnome どっちか(それとも両方?)実行した気がする.

(他にも tasksel 使って入れてみたりしたかな?覚えてない)

結局これだけでは直らなかったので,不明.

自動ログインをやめる

自動ログインするように設定していると,デスクトップ環境を選べないため.

これを行ったところ,ログイン画面では止まるようになったが,ログイン後なにも出てこず.

無駄だったこと

unity --reset

コマンドを打つととりあえずGUI環境は出てくるが,全画面表示にならないので,Ctrl + Alt + F7で全画面表示.

再起動するとダメだった.

startx

コンソールから startx を入力することによって,とりあえずGUIは使えるようになったけど,根本的な原因が解決することはなかった.

/var/log/Xorg.0.logにfbdevのエラーが出ていたので,fbdevを入れてみる

GUIが死んだときに真っ先に Xorg.0.log を見て,怪しそうなところを対処してみたやつ.

sudo apt-get install xserver-xorg-video-fbdev

直らない.却下.

sudo apt-get purge xserver-xorg-video-fbdev

compizの問題を疑い,これを初期化してみる

  1. 起動後,Ctrl + Alt + F1でコンソールに入る
  2. DISPLAY=:0.0 gnome-terminal を入力
  3. Alt + F7でデスクトップ画面に復帰すると,新しい端末ウィンドウが出ているので, dconf reset -f /org/compiz/ を入力
  4. sudo shutdown -r now

これもダメだった.

ubuntu-desktopの再インストール

sudo apt-get install --reinstall ubuntu-desktop

これもダメ.

ディスプレイマネージャーの故障を疑い,初期化

/etc/X11/default-display-manager には /usr/sbin/lightdm とあったので,

dpkg-reconfigure lightdm

ダメ.

ディスプレイマネージャーの故障を疑い,再インストール

sudo apt-get purge lightdm からの sudo apt-get install lightdm

ダメ.

lightdmがダメなのかと考え,gdmに変更してみる.

/etc/X11/default-display-manager の内容を /usr/sbin/gdm3 に変更.

すると,起動時に The system is running in low-graphics mode というエラーが出てきて論外.

この後,いろいろやってみてもgdmがダメそうなので,lightdmに戻した.

xorg.confがなかったので,/etc/X11に配置してみる

最初は拾ってきたものを配置してみたけどダメなので,ちゃんとしたものを配置してみる.

Xorg -configure で自分の環境に合った xorg.conf を自動生成してくれる便利コマンドがあるのですが,確かそのまま実行しようとするとエラーを吐かれるので,

  1. sudo systemctl stop lightdm
  2. sudo systemctl disable lightdm

で,ディスプレイマネージャーであるlightdmを止めてから無効化する.

すると, Xorg -configure が通るので,生成された xorg.conf/etc/X11/ 以下に配置.

再起動してみるも,変わらず.ダメ.

VirtualBoxのGuest Additionsを入れなおす

どこかで見かけてやってみたけどダメ.

まとめ

OS入れ直したほうが早いんじゃね?とか思った時もあったので,直ってよかった.

GUIが死んだときに真っ先に見るべき場所としては, /var/log/Xorg.0.log$HOME/.xsession-errors だと思う.

なんのイジメなのか2点ほど新しくバグが出ていて,1つは PrtSc を押すとフリーズするってやつと,もう1つは2回に1回ぐらいログイン画面でフリーズしてコンソールにも入れなくなるというバグ.

そろそろ他のLinux使えっていうことなんですかね.

参考

Linuxをインストールしたのに画面が黒いままで起動しないときの対処例

なんでもかんでもコンピュータ | So-netブログ

本の虫: Ubuntu 14.04のUnityの設定をぶっ壊した場合の修復方法

Ubuntu 16.04 LTS : GNOMEデスクトップ環境 : Server World

Ubuntu Unity その4 - Unity(Compiz)の設定を初期化する - kledgeb

Ubuntu 16.04 Unityが死亡したときの復旧メモ - ばずなダイアリー

Ubuntu 12.10 をインストールしたら low graphics mode になった話 - ぼくたち宇宙人

Ubuntuを起動したら「The system is running in low-graphics mode」と表示され、GUI環境が立ち上がらない - ITに疎いけど興味ある人のブログ

Ubuntuでtasksel : がらくた雑記blog

Ubuntu 14.04でログイン後ランチャーもツールバーも表示されない問題の復旧 - M12i.

Ubuntu系でGUIログイン出来ないのファイル破損かもよ - ぷちてく - Petittech

X Window が起動しなくなった! – KUJIRA note

Blank screen at boot - errors from Upstart on 16.04 - Ask Ubuntu