Eu não posso realmente responder como tal, mas acho que posso apontar você na direção certa. Eu encontrei isso na página do Wiki do Arch de systemd
:
polkit is necessary for power management. If you are in a local systemd-logind user session and no other session is active, the following commands will work without root privileges. If not (for example, because another user is logged into a tty), systemd will automatically ask you for the root password.
[list of various systemctl commands]
systemctl suspend
Isto sugere-me as seguintes possibilidades:
-
Você tem outro usuário logado. Talvez você tenha feito login através de um tty?
-
cron
executa seus comandos usando/bin/sh
. Por padrão , no Arch este é um symlink para/bin/bash
. Isso significaria quecron
está iniciando um shell bash não interativo que detecta que há outra sessão de usuário em execução (sua), portanto, não tem o direito de executarsystemctl
apesar de ser executado como usuário.
Então, se o seu problema é porque cron
não tem permissão para executar systemctl
porque você já está logado, você pode ser capaz de contornar isso jogando com polkit mas não tenho experiência, por isso não posso ajudar.