NixOSでBraveブラウザをインストールしたときに、起動時にユーザーパスワードを求められる件について説明します。
🔍 問題の概要
Braveを起動するとユーザーパスワード(sudoパスワード)を要求されるケースがあります。これは多くの場合、brave
がgnome-keyring
やkwallet
などの秘密情報ストレージにアクセスしようとするためです。
具体的には、以下のような場面で発生します:
-
Braveが保存済みのパスワードを使おうとしたとき
-
初回起動時にパスワードマネージャへの統合をしようとしたとき
⚙️ configuration.nix
でのBrave設定と関係ある?
通常、以下のような設定でBraveをシステムインストールできます:
{
environment.systemPackages = with pkgs; [
brave
];
}
この設定はBraveをシステム全体にインストールするだけで、gnome-keyring
やkwallet
といった秘密情報ストレージの設定とは関係ありません。
✅ 解決策
✅ 1. gnome-keyring
を有効にする(GNOMEやGTK環境で推奨)
もしGTK環境(GNOME、XFCEなど)を使っているなら、以下を追加します:
{
services.gnome.gnome-keyring.enable = true;
}
その上で、.xsession
や.pam_environment
などで環境変数を設定しておくと良い場合があります:
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
再ログインまたは再起動後、Braveがgnome-keyringと正しく連携すれば、パスワード要求が出なくなることがあります。
✅ 2. brave
をユーザー環境でFlatpakや手動でインストールする(手段の一つ)
NixでインストールしたBraveは--no-sandbox
での起動を要求したり、キーチェーンとの統合がうまくいかないことがあります。代替として:
flatpak install flathub com.brave.Browser
これは自動的にFlatpak環境のkeyringを使うので、Nix上の問題から切り離せます。
✅ 3. 起動オプションで一時的に無効化(非推奨)
どうしても困ったときに一時的に使う方法:
brave --password-store=basic
これにより、gnome-keyring
を使わずBrave内でプレーンな保存方法になります。ただしセキュリティ的には弱いため、恒久的な解決策としては推奨されません。
🔚 まとめ
方法 | 内容 | 推奨度 |
---|---|---|
services.gnome.gnome-keyring.enable = true; |
キーチェーン連携を正しく行う | ⭐⭐⭐⭐ |
--password-store=basic 起動オプション |
一時しのぎ(セキュリティ低) | ⭐⭐ |
Flatpak版Braveを使う | サンドボックス環境での連携 | ⭐⭐⭐⭐ |
必要であれば、今の configuration.nix
のBrave周りの設定を見せていただければ、もう少し具体的に改善点を提案できます。