我有 Ubuntu 12.10,当我尝试使用软件中心安装新软件时,安装失败并显示以下错误消息:
Authentication Error
Software cannot be installed or removed because the authentication service is not
available.(org.freedesktop.PolicyKit.Error.Failed:("system-bus-name",
{name:1.475}).org.debian.apt.install-or-remove-packages
这是我以前没有遇到过的新问题!有什么建议吗?
答案1
此实例问题的可能是由错误导致的;我建议考虑将其报告为 PolicyKit 中的错误。
然而,无论是否存在错误,都可能发生此问题,例如,由于手动更改 PolicyKit 配置(或卸载)而导致。因此,值得在这里回答一下。
发生这种情况是因为 PolicyKit 服务未运行。以下是解决此问题的几种方法:
确保安装了必要的 PolicyKit 包。
打开终端(++ Ctrl)并运行:AltT
sudo apt-get update && sudo apt-get install policykit-1 policykit-1-gnome
然后重新启动并查看问题是否已解决。(注销并重新登录可能解决问题。
gksu
使用/gksudo
而不是 PolicyKit运行软件中心。
如果这不起作用,您仍然可以通过解决该问题来运行软件中心。PolicyKit是授权用户(通常是管理员)可以执行以下操作的一种方式root
在典型配置的 Ubuntu 系统中,但这不是唯一方法。sudo
是另一个。
对于图形程序,直接运行它们sudo
通常就可以了(例如托马斯的回答)。 但它是不建议,主要是因为它可能导致非 root 用户的配置文件归 root 所有。
- 对于不在用户主目录中存储配置文件的图形程序来说,这无关紧要。但大多数程序都会这样做,软件中心也不例外。(它使用
~/.config/software-center
,~
您的主目录在哪里。)
因此建议使用非图形前端:gksu
/gksudo
,或者(如果你正在运行Ubuntu)kdesudo
。
因此,按Alt+F2并运行:
gksu software-center
(这适用于所有桌面环境,而不仅仅是 Unity,尽管在其他环境中看起来有所不同。)
然后系统会提示你输入密码。输入密码后,软件中心将以 身份运行root
。
请注意,这是有点不同与软件中心通常运行的方式不同。通常,它以普通用户身份运行,并使用 PolicyKit 以 root 身份执行操作正是需要的时候gksu
。让它使用/gksudo
或kdesudo
做到这一点并非易事。
但按root
通常方式运行它可以正常工作并且不会出现任何问题。
root
其他图形实用程序也可以像图形前端一样运行sudo
。
问题本身似乎与软件中心无关——任何使用 PolicyKit 的程序都会失败。有些程序,比如users-admin
无法成功运行root
。但大多数都可以。以下是一些常用实用程序的操作方法:
软件源—
gksu software-properties-gtk
(在 Kubuntu 中kdesudo software-propertiies-kde
:)软件更新程序(称为更新管理器在 12.10 之前)—
gksu update-manager
(但是,如果您只是想正常安装更新,那么您可能无需成为 root 即可执行此操作,因为有一个单独的服务允许这样做。)系统设置...—
gksu gnome-control-center
答案2
这只是因为你忘记运行 policykit。运行 gnome-session-properties 并选择 PolicyKit,然后重新登录。