У меня есть другие вопросы с polkit, не работающим вообще на неактивные сессии. Поскольку я думаю, что они совместно используют ту же проблему, я отправлю один пример сначала.
У меня есть новый сервер человечности 14.04 с lubuntu-рабочим-столом и xrdp установленным пакетом. Когда я вхожу в систему с xrdp, у меня должны быть нормальные ограничения, поскольку polkit был определен. Сначала я думал, что у меня просто нет достаточного количества разрешения для определенных действий. Таким образом, я изменил некоторые конфигурации на свои потребности. Вот один пример: Двойной щелчок по .deb-пакету, который я хочу установить, центр программного обеспечения, открывается, и я нажимаю установку там:
org.freedesktop. PolicyKit. Ошибка. Отказавший: ('имя системной шины', {'имя': ':1.121'}): org.debian.apt.install-файл
(Что-то как: Нельзя сделать это действие. Вы не владеете правильными полномочиями.)
Перед этим я настроил polkit для разрешения этого для моей неактивной сессии (но для моего понимания auth_admin был бы достаточно хотя). pkaction --verbose
извлечение:
org.debian.apt.install-file:
description: Install package file
message: To install this package, you need to authenticate.
vendor: Apt Daemon
vendor_url: http://launchpad.net/aptdaemon/
icon: package-x-generic
implicit any: auth_admin
implicit inactive: auth_admin_keep
implicit active: auth_admin_keep
Так или иначе я думаю polkit (агент?) не работает вообще, потому что я разбираюсь в следующей ошибке после входа в систему с xrdp:
GDBus. Error:org.freedesktop. PolicyKit1. Ошибка. Отказавший: не Может определить пользователя предмета
Я предполагаю, что он не находит меня как пользователя? Как я могу проверить, работает ли policykit агент на моей xrdp-сессии? Я могу запустить его вручную? Это - возможно, ошибка?
Править: Да, этот пользователь находится в группе admin, этот пользователь был создан во время установки человечности. Это также имеет sudo права.
Это, кажется, не получает имя пользователя от пользовательского процесса, не проверяет Ваши переменные среды. xrdp может отличаться от очередной сессии:
env | grep -i "user\|logname"
, Чтобы проверить, работает ли polkit агент, используйте терминал и выполните это:
~$ ps aux | grep polkit
root 855 0.0 0.9 281224 7192 ? Sl 06:34 0:00 /usr/lib/policykit-1/polkitd --no-debug
user 2060 0.0 1.5 331764 11604 ? Sl 06:37 0:00 /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
user 2419 0.0 0.1 15944 952 pts/12 S+ 06:38 0:00 grep --color=auto polkit
необходимо найти два, обрабатывают polkitd
выполнение корнем и polkit-*-authentication-agent-1
тем же пользователем сессии.
Да, Вы можете пирог их вручную, у меня есть рабочий стол Ubuntu, таким образом, он может отличаться. Доберитесь, где это:
~$ ls /etc/xdg/autostart/polkit-*
/etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop
~$ grep -i exec= /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop
Exec=/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
Выполнение это:
/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1