FedoraでGnomeを使っているのですが、幾つか前のFedoraメジャーバージョンアップ後からスクリーンロック後にGnome Shellがクラッシュするようになってしまいました。放っておけばそのうち直るだろう、と放置していたのですが直る気配がないので調べてみました。
調査
Super+Lでスクリーンロックが動作するので動作させる。パスワードを入力してロック解除。Gnome Shellがクラッシュする。
$ journalctl -b 0 -p err
Shift+G で最後の方のエラー行を確認する。
4月 23 11:09:24 dev.inter.es-i.jp abrt-notification[8179]: Process 1517 (gnome-shell) crashed in st_widget_get_theme_node()
どうもGnome Shell Extension関係でクラッシュしている、と判る。
Tweaksで「拡張機能」を一つ一つ無効にしてSuper+Lでロック/アンロックを繰り返してみると、”Clipboard indicator”が有効の場合にクラッシュすると判明しました。
再インストールで直る場合も
Clipboard indicatorは使いたかったので、削除して再インストールしてみると普通に動作しました。恐らく古い設定ファイルなどが問題だっと思われます。
調査方法のTIPS
複数の拡張機能が原因の場合、一つ一つ無効にしてもクラッシュすると思われます。取り敢えずTweaks(パッケージ名はgnome-tweaks)で全ての拡張機能を無効にして、拡張機能が原因がどうか試すと良いと思います。
他のLinuxディストリビューションでも同じように拡張機能が原因でGnome Shellがクラッシュしている場合もあると思います。
クラッシュについて
Gnome Shellがクラッシュするだけでセッションは維持され、開いているアプリケーションもそのまま維持されることが多いです。しかし、セッションごと消える、つまりログイン画面になってアプリケーションもろとも落ちるようになりました。これでは流石に困るので原因を調査することにしました。ログが残っていたので助かりました。
おかしなデータでプログラムを停止させるのは悪いことではありません。寧ろ推奨される動作ですが、Gnome Shellのようなインタラクティブなプログラムでの強制停止は考え物です。セキュリティを考慮すると仕方ないのですが。。。