c'est plus un «Arrêt par l'utilisateur», sans être root et sans passer par sudo, que je chercherais.
Si ConsoleKit est encore là (pas sûr vu qu’il est normalement remplacé par systemd-logind), un utilisateur (même non-root, du moment qu’il est connecté physiquement) peut appeler la méthode D-Bus org.freedesktop.ConsoleKit.Manager.Stop pour arrêter le système.
Depuis la ligne de commande, ça peut se faire avec dbus-send(1) :
Sur les systèmes où systemd-logind a remplacé ConsoleKit, la méthode équivalente est apparemmentorg.freedesktop.login1.Manager.PowerOff. Je soupçonne que l’on doit pouvoir également utiliser simplement systemctl halt (même en tant que simple utilisateur, encore une fois tant qu’il est physiquement connecté), mais n’utilisant pas systemd je ne peux être affirmatif.
[^] # Re: Utilisateur et Administrateur
Posté par gouttegd . En réponse au message [CLI] Arrêter la machine en utilisateur. Évalué à 2.
Si ConsoleKit est encore là (pas sûr vu qu’il est normalement remplacé par systemd-logind), un utilisateur (même non-root, du moment qu’il est connecté physiquement) peut appeler la méthode D-Bus
org.freedesktop.ConsoleKit.Manager.Stoppour arrêter le système.Depuis la ligne de commande, ça peut se faire avec dbus-send(1) :
Sur les systèmes où systemd-logind a remplacé ConsoleKit, la méthode équivalente est apparemment
org.freedesktop.login1.Manager.PowerOff. Je soupçonne que l’on doit pouvoir également utiliser simplementsystemctl halt(même en tant que simple utilisateur, encore une fois tant qu’il est physiquement connecté), mais n’utilisant pas systemd je ne peux être affirmatif.