事の発端
業務中にLinuxサーバーのトラブル調査を行う機会があったので、AIやインターネットに頼りつつも原因の切り分けを進めていました。
当時はコマンドの意味をあまり理解しきれていなかったと感じたため、今後またトラブルシューティングを行う際に少しでもこの経験を知識として活かせるようにしたいと考えてこの記事を書くことにしました。
トラブル内容
Ubuntu24.04を導入したDell Pro Max with GB10にRDPでアクセスを試みたところ、接続はできたものの画面の表示が崩れていたり暗転したりでまともに操作できない状況でした。
RDPサーバはgnome-remote-desktopを使用。
なお、再起動では直りませんでしたが、SSHは問題なく使用できたので、SSH接続経由で色々コマンドを試していました。
まず、GDMセッションの状態を確認。
loginctl list-session
結果(一部抜粋&改変)
SESSION USER TTY STATE
(number) *** pts/0 active
RDP中の場合、本来であれば1行だけではなくTTY欄が空欄やディスプレイ番号になっている行も返ってくるはずなのですが、今回はログインシェル(pts/0)のみが返ってきているため、GUIセッションの生成に失敗していると推測できます。
次に、GNOME Display Managerが起動しているかを確認します。
systemctl status display-manager.service --no-pager
すると、ログに
gdm[2016]:Gdm:GdmDisplay:Session never registared failing.
と繰り返し出ているのを発見。やはりGUIセッションの生成に失敗しているようです。
次に、systemd-logindで何が起きているのかを確認します。
systemctl status systemd-logind.service --no-pager
7月28 xx:yy:20 systemd-logiond[]:New session c00 of user gdm.
7月28 xx:yy:21 systemd-logiond[]:Session c00 logged out.Waiting for processes to exit.
7月28 xx:yy:21 systemd-logiond[]:Removed sessiond c00.
ログを見る限り、GDMによってセッションは作成されたものの、すぐに終了してしまっているようでした。
次に、journalctlコマンドでシステムログを閲覧してみます。
sudo journalctl -b --since "xx:yy:15" --until "xx:yy:25" -o short-precise --no-pager
Failed to initialize glamor,falling back to sw
Fatal server error:
Caught signal 11(Segmentat ion fault) server aborting.
Unrecovererable failure in required component org.fnome.Shell.desktop
initialeizeは「初期化」を意味するため、上のログからはglamorが初期化に失敗したことがわかります。そこでsw(ソフトウェア描画)を呼び出そうとしたものの、表示サーバーが異常終了してしまいセッションが継続できなくなっていました。
おそらくこれが直接原因かもしれません。
(余談ですが、journalとは、「毎日」を意味する中世ラテン語が語源となる英単語です。個人の日記や学術的に研究結果を公開する専門誌などを指すそうです)
その根本原因を探るため、NVIDIA側に問題がないか確認しました。
nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.
このエラーについて調べたところ、どうやらNVIDIAドライバーがそもそも認識できないときに出るエラーみたいです。つまり、OSでできることからNVIDIA GPUを正常に管理・利用できていないみたいです。
つまりRDP以外にも何かしら問題が起きていそうなので、GPUドライバー側にも問題がある可能性が高いと考えました。
その後
このあと先輩に状況を報告したあと、先輩が大半をやってくれたのもあり記録を残しておらず、解決方法はあまりよくわかっておりません。(申し訳ない)
sudo apt update→sudo apt upgradeを試したり、Ubuntuにもともと入っていた「ソフトのアップデート」を試したら正常に戻っていた記憶があるので、もしかしたらソフトのバージョンの不整合が致命的なエラーにつながったのかもしれません。
今後意識したいこと
日本語対応しているログもあるが、まだまだ英語で記述している場合がほとんどなので英語の勉強もある程度大事だと感じました。
また、今回は完全に自力で解決できたわけではありません。しかし、「どのログを確認し、そこから何を読み取るか」を実際に経験できたことは大きな収穫でした。次に同じようなトラブルに遭遇したときは、今回の調査を出発点にして、さらに深く原因を追えるようになりたいと思います。