Arrêt du terminal sans entrer le mot de passe?

51

J'ai l'édition de bureau d'Ubuntu.

J'aime le terminal pour que je préfère éteindre mon ordinateur avec la shutdowncommande.

Cependant, lorsque je tape, shutdown nowcela me demande de saisir mon mot de passe. Puis-je éteindre mon ordinateur à l'aide de cette commande sans entrer mon mot de passe?

Santosh Kumar
la source
4
Est-ce que quelqu'un sait quelle commande est exécutée lorsque je clique sur "Arrêter" dans l'environnement de bureau?
kubahaha

Réponses:

53

Ouvrez un terminal (CTRL + T) et tapez ce qui suit sudo visudo

Ajoutez la ligne suivante:

%group_name ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown

ou

user_name ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown

Cela permet à l'utilisateur / groupe d'exécuter les trois commandes ci-dessus, en utilisant sudo , mais sans mot de passe.

Donc, sudo poweroffva maintenant entraîner un arrêt sans mot de passe.


Cependant, pour rendre cela encore plus propre, nous allons ajouter un alias, de sorte que les shutdownappels en cours soient exécutés sudo shutdown now.

Ouvrir ~/.bash_aliasespour édition.

nano ~/.bash_aliases

Insérer la ligne suivante à la fin du fichier:

alias shutdown='sudo shutdown now' 

Enfin, chargez les modifications dans le .bash_aliasesfichier ...

source ~/.bash_aliases

Essaye le!

shutdown

Merci Eric .

SirCharlo
la source
36

Un moyen sûr de le faire sans utiliser sudo et sans bricoler avec le système consiste à exécuter ces commandes one-liner :

Pour Ubuntu 14.10 ou une version antérieure:

Fermer:

/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

Redémarrer:

/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart

consolekitInstaller consolekit doit bien sûr être installé sur votre système.

Autres commandes que vous pouvez aimer:

Suspendre:

/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Hibernate: (si activé sur votre système)

/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate


Pour Ubuntu 15.04 et versions ultérieures:

(Ceci est dû au passage d'Ubuntu à l'utilisation systemdau lieu de Upstart)

systemctl poweroff

systemctl reboot

systemctl suspend

systemctl hibernate

systemctl hybrid-sleep

Puisque hibernate est normalement désactivé par défaut dans les systèmes Ubuntu, vous pouvez l'activer en cochant cette réponse: https://askubuntu.com/a/617254/101985

Source originale: https://bbs.archlinux.org/viewtopic.php?id=127962

Majal
la source
3

Unity utilise de nombreux services gnome, et dans ce cas aussi - vous pouvez fermer gnome de façon.

gnome-session-quit --power-off --force --no-prompt

va faire le travail.

Ohad Cohen
la source
On dirait que cela ne fonctionne que pour la déconnexion. De la page de manuel de --no-prompt:End the session without user interaction. This only works with --logout.
Pylinux
1

Alors que vous pouvez utiliser la méthode de permettre NOPASSWDà /usr/sbin/shutdown, bien qu'une autre solution DE-indépendante est d'utiliser simplement init 0.

UniversellementUniqueID
la source
0

c'est facile. en utilisant l'option -S comme ceci:

echo <your-password> | sudo -S poweroff
Qijun Liu
la source