我没有使用 Unity,因此没有方便的按钮可以单击以启动software-center
。不过,搜索软件有时很有用,因此我从命令行运行它。但是,我实际上无法通过该界面安装软件(没有权限)。所以我尝试了sudo software-center
,希望可以解决这个问题。在命令行中输入密码后,我会看到一个对话框,要求输入:
输入密钥环“default”的密码来解锁
我应该在这里输入什么才能真正software-center
以 root 身份启动?
这里还有一些信息。我正在运行 Enlightenment (E17) 作为我的桌面环境。Unity 侧栏上出现的按钮似乎在 E17 中没有对应的按钮,这就是我从命令行运行软件中心的原因。当我以我的身份而不是 root 身份执行此操作时,在我尝试安装某些东西时,会弹出一条错误消息,内容为:
Authentication Error. Software can't be installed or removed because the authentication service is not available. (org.freedesktop.PolicyKit.Error.Failed: ('system-bus-name', {'name': ':1.96'}): org.debian.apt.install-or-remove-packages
Policykit 似乎没有运行,或者至少没有出现任何与该名称类似的“ps wux”。所以我想这引发了一个问题,有人知道如何让它在我登录时自动启动吗?
谢谢!
答案1
您不应该以 root 身份运行软件中心。您应该以自己的用户身份启动它。安装软件包时应该会弹出一个 policykit 对话框,要求您输入密码。难道不是这样吗?
答案2
您需要 pkexec 来代替:
pkexec software-center
这种方式就像是从 GUI 启动它一样。
答案3
一个好的选择是使用以下两个命令:
sudo -i #login as root
software-center #run software-center as root
如果你想使用pkexec software-center
@Braiam 建议的他的回答您很可能会遇到一些错误,并且命令会导致核心转储(正如@gunbert 所说此评论software-center
)。以 root 身份运行的正确方法pkexec
是:
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY software-center
这是正常的,因为man pkexec
从这个意义上来说非常清楚:
[...] pkexec will not allow you to run X11 applications as another user since the $DISPLAY and $XAUTHORITY environment variables are not set.[...]