我正在运行 Ubuntu 13.04,Gnome 3.6。
pkexec 存在问题,不允许它启动任何 GUI 应用程序。
pkexec synaptic
终端中zsh
会出现一个框,要求输入管理员密码。输入正确的密码后,它会显示:
No protocol specified
** (synaptic:6053): WARNING **: Could not open X display
No protocol specified
(synaptic:6053): Gtk-WARNING **: cannot open display: :0
synaptic
如果我将其替换为nautilus
或运行,结果是相同的。从同一个终端,当以或synaptic-pkexec
启动时,两个应用程序都可以正确运行(要求输入密码的框,然后启动应用程序)。gksu nautilus
gksu synaptic
但是,pkexec ls /
会出现一个要求输入密码的框,输入密码后,它会在终端中显示列表。
其内容/usr/share/polkit-1/actions/com.ubuntu.pkexec.synaptic.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/policyconfig.dtd">
<policyconfig>
<action id="com.ubuntu.pkexec.synaptic">
<message>Authentication is required to run the Synaptic Package Manager</message>
<message xml:lang="ru">Для запуска менеджера пакетов Synaptic требуется аутентификация</message>
<icon_name>synaptic</icon_name>
<defaults>
<allow_any>auth_admin</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/synaptic</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>%
发生了什么事?我该如何解决?
另外,令人伤心的是,像 pkexec 这样的关键软件出现了故障!