禁用 gnome-keyring-daemon

Pro*_*iat 9 debian gnome-keyring thunderbird gpg enigmail

我尝试过的方法:

当我登录时,这些都不会阻止此过程的启动:

me       1865  0.0  0.0 281816  7104 ?        Sl   10:50   0:00 /usr/bin/gnome-keyring-daemon --daemonize --login
Run Code Online (Sandbox Code Playgroud)

这会阻止我的 Thunderbird 正确解密电子邮件。当我终止进程时,我可以按预期解密电子邮件,但我不想每次登录时都这样做。

OS Information: Debian GNU/Linux 8.3 (jessie)
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮忙吗?

小智 8

实际上,在某些情况下,gnome-keyring-daemon 是使用 PAM(可插入身份验证模块)文件通过 X 登录启动的,但还有其他方式,例如自动启动文件GnomeKeyring/RunningDaemon。可以在官方文档中详细了解 PAM 的集成。但一般来说,您只需要检测您使用的是哪个桌面管理器并删除/etc/pam.d/<desktop_manager>.

就我而言,我使用lightdm. 所以我有一个名为 PAM 文件/etc/pam.d/lightdm,其中包含以下内容:

? cat /etc/pam.d/lightdm
#%PAM-1.0
auth        include     system-login
-auth       optional    pam_gnome_keyring.so
account     include     system-login
password    include     system-login
session     include     system-login
-session    optional    pam_gnome_keyring.so auto_start
Run Code Online (Sandbox Code Playgroud)

删除或注释调用pam_gnome_keyring.so位于 上的模块的条目/lib/security,您可以在登录时完全禁用守护程序。可以肯定的,外观/etc/xdg/autostart~/.config/autostart用图案的文件gnome-keyring-*.desktop,并追加Hidden=true上的每个文件来禁用该组件为好。

如何在 antiX 17.1(基于 Debian 'stretch')

注意:这个或接近它的东西应该适用于大多数基于 Debian 的系统。

  • 对于gnome-keyring-daemon不应在登录时开始的每个用户...

    • 对于每个有类似文件的服务...
      /etc/xdg/autostart/gnome-keyring-*.desktop
      
      Run Code Online (Sandbox Code Playgroud)
    • 在以下位置创建一个完全相同名称的文件: ~/.config/autostart
    • 可选:禁用gnome-keyring-daemon“登录”进程

      • 上述每个用户的更改仍然允许gnome-keyring-daemon在登录时启动1 或 2 个进程。但是如果没有启动每个用户的进程,它们会在几分钟后自动停止。因此,更改这些/etc/pam.d文件并不是真正必要的,而是为了完整性而提供的。
        • 注释掉gnome-keyring-daemon显示管理器的 PAM 配置文件中的行(antiX 使用slim): /etc/pam.d/slim
          # auth      optional  pam_gnome_keyring.so
          # session   optional  pam_gnome_keyring.so auto_start
          
          Run Code Online (Sandbox Code Playgroud)
        • 注释掉 PAM 配置文件中的 gnome-keyring-daemon 行: /etc/pam.d/common-password
          # password  optional  pam_gnome_keyring.so
          
          Run Code Online (Sandbox Code Playgroud)
    • 重启

  • 这应该是公认的答案。谢谢。我使用所以我评论了文件 /etc/pam.d/gdm-* 中的行 (2认同)

小智 6

对于简单的禁用(而不是删除),删除执行权限怎么样?(您将需要适当的权限,因此您可能需要添加前缀sudo)。

$ chmod -x $(type -p gnome-keyring-daemon)
Run Code Online (Sandbox Code Playgroud)

如果该进程当前正在运行,您也可以终止该进程:

$ pkill gnome-keyring-daemon
Run Code Online (Sandbox Code Playgroud)

  • 从技术上讲这是正确的,但非常可怕。最终,您将在 Journalctl 和/或 syslog 中弹出错误。另外,您需要 root 才能执行这些命令(明智的做法是在答案中提及) (4认同)