Я не могу действительно ответить как таковой, но я думаю, что могу указать на Вас в правильном направлении. Я нашел это на странице Arch Wiki systemd
:
polkit необходим для управления питанием. Если Вы будете на локальном systemd-logind сеансе пользователя, и никакая другая сессия не активна, то следующие команды будут работать без полномочий пользователя root. Если не (например, потому что другой пользователь зарегистрирован в tty), systemd автоматически попросит у Вас пароля root.
[список различных команд systemctl]
systemctl приостанавливают
Это предлагает мне следующие возможности:
У Вас есть другой зарегистрированный пользователь. Возможно, Вы зарегистрировали на пути tty?
cron
выполняет его использование команд /bin/sh
. По умолчанию на Arch это - символьная ссылка на /bin/bash
. Это означало бы это cron
запускает неинтерактивную оболочку удара, которая затем обнаруживает, что существует другой сеанс пользователя, выполняющий (Ваш), таким образом, он не имеет права работать systemctl
несмотря на выполнение как Ваш пользователь.
Так, если Ваша проблема состоит в том потому что cron
не позволяется работать systemctl
потому что Вы уже зарегистрированы, Вы смогли обходить это путем проигрывания с polkit, но у меня нет опыта там, таким образом, я не могу помочь.
Вы можете найти полный список доступных значений для icon-name в исходном коде upower.
http://cgit.freedesktop.org/upower/tree/src/up-device. c#n99
И XDG Icon Naming Specification не имеет к ним отношения.