• 作成:

GLib 2.70.0へのアップデートの結果GNOME Keyringが壊れたので復旧

何もしてないのにgnome-keyringが壊れた

今日PC立ち上げたらターミナルがなかなか起動しなかった。 eval "$(saml2aws --completion-script-bash)" が終了しないらしい。

なんで?

ログを見てみると以下のようなgnome-keyringのエラーが表示されていました。

 9月 26 14:13:39 strawberry gnome-keyring-daemon[1856]: couldn't access control socket: /run/user/1000/keyring/control: そのようなファイルやディレクトリはありません
 9月 26 14:13:39 strawberry gnome-keyring-d[1856]: couldn't access control socket: /run/user/1000/keyring/control: そのようなファイルやディレクトリはありません
 9月 26 14:13:39 strawberry gnome-keyring-daemon[1856]: couldn't connect to dbus session bus: setuid 時にメッセージバスを spawn できません
 9月 26 14:13:39 strawberry gnome-keyring-d[1856]: couldn't connect to dbus session bus: setuid 時にメッセージバスを spawn できません
 9月 26 14:13:39 strawberry gnome-keyring-daemon[1856]: couldn't connect to dbus session bus: setuid 時にメッセージバスを spawn できません
 9月 26 14:13:39 strawberry gnome-keyring-daemon[1856]: couldn't connect to dbus session bus: setuid 時にメッセージバスを spawn できません
 9月 26 14:13:39 strawberry gnome-keyring-d[1856]: couldn't connect to dbus session bus: setuid 時にメッセージバスを spawn できません
 9月 26 14:13:39 strawberry gnome-keyring-d[1856]: couldn't connect to dbus session bus: setuid 時にメッセージバスを spawn できません

実際gnome-keyringは動いてなくて、これを使うlibsecretを使うgit pushなどが動きません。困りました。

原因はGLib 2.70.0-1でのセキュリティ強化

色々探してみた所、以下に情報がありました。

Bug#994961: glib2.0: gnome-keyring unable to unlock login keyring on some systems since GLib 2.70.0-1

GLib 2.70.0にシステムがアップデートしたのは最近ですし、時間的理屈も通りますね。

ちょっとしか見てないしちゃんとこの周辺のシステムの理解もしてないのですが、どうもgnome-keyringのバグでsetcapをしてるのが悪いらしい。

Gentoo Linuxでの解決策

package.useでcaps機能を無効化することで解決しました。

# [Bug#994961: glib2.0: gnome-keyring unable to unlock login keyring on some systems since GLib 2.70.0-1](https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1820622.html)
gnome-base/gnome-keyring -caps -filecaps

これでちゃんとgit pushも動きます。

9月 26 14:13:39 strawberry gnome-keyring-daemon[1856]: couldn't access control socket: /run/user/1000/keyring/control: そのようなファイルやディレクトリはありません

の方のログは残ってるんですが、これは残っても動作に問題はないらしい。

上流に上げるべき?

このバグ報告Gentooのbugzillaに上げるべきなんでしょうか。なんか自分のような一部の環境限定ですが、 gnome-keyring自身にバグがあるから勝手に直されそう。英語書くの相当だるいので報告するのがだるい。