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?
-
cronexecuta seus comandos usando/bin/sh. Por padrão , no Arch este é um symlink para/bin/bash. Isso significaria quecronestá 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 executarsystemctlapesar 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.