Я использую Ubuntu 13.04, Gnome 3.6.
Что-то не так с pkexec, который не позволяет запускать любое графическое приложение.
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, ведет себя плохо!