无软件中心权限

Chr*_*ris 7 software-center permissions

我今天刚刚安装了 Ubuntu 13.04(来自 11.04)。而且我无法从 Dash 使用软件中心。当我从破折号启动它时,它总是说我没有足够的权限来安装软件。但是我的用户应该属于 sudo adm 和 lpadmin 组。我可以使用它的唯一方法是:控制台中的“sudo software-center”。为什么它不像往常那样直接询问我的密码?这里有什么问题?

Rad*_*anu 3

如果您错误地在/usr/share/polkit-1/actions/org.debian.apt.policy文件中有类似内容:

...

  <action id="org.debian.apt.install-or-remove-packages">
    <description gettext-domain="aptdaemon">Install or remove packages</description>
    <message gettext-domain="aptdaemon">To install or remove software, you need to authenticate.</message>
    <defaults>
      <allow_any>no</allow_any>
      <allow_inactive>no</allow_inactive>
      <allow_active>no</allow_active>
    </defaults>
  </action>

...
Run Code Online (Sandbox Code Playgroud)

当您尝试从 Ubuntu 软件中心安装某些内容时,您将收到以下警告:

警告

您还可以检查警告的详细信息。

因此,检查/usr/share/polkit-1/actions/org.debian.apt.policy文件并确保其如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
 "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
<policyconfig>

  <vendor>Apt Daemon</vendor>
  <vendor_url>http://launchpad.net/aptdaemon/</vendor_url>
  <icon_name>package-x-generic</icon_name>

  <action id="org.debian.apt.get-trusted-vendor-keys">
    <description gettext-domain="aptdaemon">List keys of trusted vendors</description>
    <message gettext-domain="aptdaemon">To view the list of trusted keys, you need to authenticate.</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

  <action id="org.debian.apt.clean">
    <description gettext-domain="aptdaemon">Remove downloaded package files</description>
    <message gettext-domain="aptdaemon">To clean downloaded package files, you need to authenticate.</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
  </action>

  <action id="org.debian.apt.change-config">
    <description gettext-domain="aptdaemon">Change software configuration</description>
    <message gettext-domain="aptdaemon">To change software settings, you need to authenticate.</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

  <action id="org.debian.apt.change-repository">
    <description gettext-domain="aptdaemon">Change software repository</description>
    <message gettext-domain="aptdaemon">To change software repository settings, you need to authenticate.</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

  <action id="org.debian.apt.install-file">
    <description gettext-domain="aptdaemon">Install package file</description>
    <message gettext-domain="aptdaemon">To install this package, you need to authenticate.</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

  <action id="org.debian.apt.update-cache">
    <description gettext-domain="aptdaemon">Update package information</description>
    <message gettext-domain="aptdaemon">To update the software catalog, you need to authenticate.</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
  </action>

  <action id="org.debian.apt.install-or-remove-packages">
    <description gettext-domain="aptdaemon">Install or remove packages</description>
    <message gettext-domain="aptdaemon">To install or remove software, you need to authenticate.</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

  <action id="org.debian.apt.install-packages.high-trust-repo">

    <description gettext-domain="aptdaemon">Install software from a high-trust whitelisted repository.</description>
    <message gettext-domain="aptdaemon">To install software, you need to authenticate.</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

  <action id="org.debian.apt.install-packages-from-new-repo">

    <description gettext-domain="aptdaemon">Add a new repository and install packages from it</description>
    <message gettext-domain="aptdaemon">To install software from a new source, you need to authenticate.</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

  <action id="org.debian.apt.install-purchased-packages">

    <description gettext-domain="aptdaemon">Add a new repository of purchased software and install packages from it</description>
    <message gettext-domain="aptdaemon">To install purchased software, you need to authenticate.</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

  <action id="org.debian.apt.upgrade-packages">
    <description gettext-domain="aptdaemon">Upgrade packages</description>
    <message gettext-domain="aptdaemon">To install updated software, you need to authenticate.</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

  <action id="org.debian.apt.cancel-foreign">
    <description gettext-domain="aptdaemon">Cancel the task of another user</description>
    <message gettext-domain="aptdaemon">To cancel someone else's software changes, you need to authenticate.</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin</allow_active>
    </defaults>
  </action>

  <action id="org.debian.apt.set-proxy">
    <description gettext-domain="aptdaemon">Set a proxy for software downloads</description>
    <message gettext-domain="aptdaemon">To use a proxy server for downloading software, you need to authenticate.</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin</allow_active>
    </defaults>
  </action>

</policyconfig>
Run Code Online (Sandbox Code Playgroud)

要编辑它,请在终端中切换到 root 用户:

sudo -i
Run Code Online (Sandbox Code Playgroud)

然后运行以下命令:

gedit /usr/share/polkit-1/actions/org.debian.apt.policy
Run Code Online (Sandbox Code Playgroud)

CTRLD通过输入 或 来关闭该根会话exit