Usando os comandos 'at' e 'systemctl' juntos

0

Estou tentando programar o desligamento do PC usando um comando assim:

echo "systemctl poweroff" | at -M now +1 minute

ou assim:

echo "sudo systemctl poweroff" | at -M now +1 minute

mas nada acontece. Por quê?

atd está em execução e o comando abaixo funciona bem apenas para verificar:

echo "echo Hello 2>&1 > /home/<user_name>/at-test.txt" | at -M now +1 minute

Eu sei que o desligamento pode ser agendado usando shutdown -P TIME , mas responda a minha pergunta primeiro, em vez de apontar algumas alternativas. Então, o que estou fazendo errado?

    
por Foli 29.09.2018 / 05:11

1 resposta

0

O Policy Kit pode aplicar regras a shutdown e poweroff (que são apenas o programa systemctl por outro nome) executadas no contexto da sessão não-login como um trabalho at diferente das regras aplicadas para shutdown executado no contexto da sessão de login.

sudo apenas over-eggs este pudim, adicionando complicação extra desnecessária. O systemd já está aplicando regras sobre quais usuários não privilegiados, em quais contextos, podem disparar com êxito o desligamento do sistema. Adicionar sudo com seus mecanismos adicionais em cima de tudo isso apenas dobra o número de conjuntos de regras de acesso e aumenta o número de possíveis casos que é necessário considerar ao diagnosticar problemas.

Leitura adicional

por 29.09.2018 / 11:29