Isso é bem complicado. Vamos explicar os comandos para que você os tenha enumerado.
-
telinit
Vários argumentos para
telinit
traduzem diretamente para vários subcomandos (diferentes) desystemctl
. Conforme telinit (8) (documentação do pacote systemd):2, 3, 4, 5
Change the SysV runlevel. This is translated into an activation request for
runlevel2.target
,runlevel3.target
, ... and is equivalent tosystemctl isolate runlevel2.target
,systemctl isolate runlevel3.target
, ...Portanto, esses comandos são convertidos em
systemctl isolate
, que é governado pela ação polkitorg.freedesktop.systemd1.manage-units
. Privilégios para essa ação padrão para exigir autenticação de administrador - tanto para sessões ativas, sessões inativas e processos fora de qualquer sessão.(BTW, por padrão, o polkit é configurado de tal forma que trata qualquer usuário em
wheel
group como administrador. Assim, você é solicitado a autenticar por si mesmo.) -
halt
,poweroff
,reboot
Os comandos
poweroff
ereboot
funcionam em duas etapas:- se invocado em um usuário não-root e
logind
estiver disponível,logind
será solicitado a executar a ação, usando as ações do polkitorg.freedesktop.login1.*
; - caso contrário, o quase equivalente de
systemctl poweroff
ousystemctl reboot
é executado, mas sem consultar o polkit .
halt
é semelhante, mas sempre é a segunda rota (quase equivalente asystemctl halt
). Não há nenhum método para parar via logind.Observe o "quase equivalente". Caso você faça
-
poweroff
sob uma não-raiz sem logind, -
reboot
sob uma não-raiz sem logind, -
halt
em um não-raiz,
você recebe um "deve ser root". em vez de autenticar para
org.freedesktop.systemd1.manage-units
via polkit. Ao mesmo tempo, comsystemctl poweroff
,systemctl reboot
ousystemctl halt
, você terá a chance de autenticar via polkit. Este é provavelmente um bug. - se invocado em um usuário não-root e
-
shutdown
Esta ferramenta pode ser usada para agendar um desligamento, parada ou reinicialização atrasada. Se invocado sem argumentos, um atraso de 1 minuto está implícito. A ação padrão é o desligamento. De desligamento (8) :
The time string may either be in the format "hh:mm" for hour/minutes specifying the time to execute the shutdown at, specified in 24h clock format. Alternatively it may be in the syntax "+m" referring to the specified number of minutes m from now. "now" is an alias for "+0", i.e. for triggering an immediate shutdown. If no time argument is specified, "+1" is implied.
Se o tempo limite e a mensagem de parede não forem especificados,
shutdown
será equivalente a% depoweroff
,halt
oureboot
(ver # 2).Se um tempo limite ou uma mensagem de parede for especificada,
shutdown
requer privilégios de root. -
poweroff
não desligaRealmente deveria. Este é provavelmente um bug do kernel.