Ubuntuのログインループの改善方法

前書き

機械学習の研究でGPUをゴリゴリ使います。
なので最近研究室でubuntuPCのログインループを直す機会が増えました。
備忘録としてまとめます。

ログインループってそもそも何

電源をぶち抜いたり、
GPU周りで怪しい挙動をするようになると発生するらしい。
現にログインをすると再びログイン画面に戻る奇妙な不具合である。

原因

NVIDIAドライバの不具合

解決方法

** Ctrl + Alt + F1 でGUI画面からCUIへ切り替え

GPU/NVIDIAドライバ周りの情報を取得

$ dpkg -l | grep nvidia

GA compatible controller: NVIDIA Corporation Deviceの後ろに謎の文字列が出力される。
型番の種類がわからない場合、以下のコマンド。

pcidとはPCIスロットに刺さっているDeviceのことを示す

manpages.ubuntu.com

$ sudo update-pciids
$ update-pciids
$ dpkg -l | grep nvidia

おそらくこれでGPUの型番が判明

xserverの停止

xserverの停止により完全なGUIの停止が可能。
ディスプレイドライバーからNVIDIAを解除している?

blog.goo.ne.jp

sudo service lightdm stop

自分の場合lightdmが入ってなかったのでこんなコマンドではなかった。
何を打ったか忘れたので、思い出したら更新します。

nvidiaやcudaのバージョンを削除

nvidiaやcudaのバージョンの相性?でログインループが発生している場合もあるので、
一旦現在のバージョンを削除。
大丈夫怖くない怖くない。

sudo apt-get -- remove nvidia-*
sudo apt-get -- remove cuda-*

正常バージョンをインストール

先ほど調べたバージョンをインストール。

sudo apt-get update && sudo apt-get install nvidia-xxx

自分の場合cudaであらかじめ正常に動作したバージョンのファイル(圧縮)を残しておいて、
ダウンロードファイルから改めてインストールしたりしました。
インストール後xserverを起動。

sudo service lightdm start

再起動

再起動!忘れずに!
ログインループは解除されてるはず・・・
ログインしてなんかいつもよりGUIの画素が荒いなと思ったら
nvidia-smiで表示がなされていない。

nvidia-smi

うまくいけばGPU/NVIDIAに関する情報が表示され、
画素もいつも通り明瞭な感じになると思います。

参考

learnprogra.com