¿Apagado del terminal sin ingresar la contraseña?

51

Tengo la edición de escritorio de Ubuntu.

Me gusta la Terminal para que prefiera apagar mi computadora con el shutdowncomando.

Sin embargo, cuando shutdown nowescribo, me pide que ingrese mi contraseña. ¿Hay alguna forma de que pueda apagar mi computadora usando este comando sin ingresar mi contraseña?

Santosh Kumar
fuente
44
¿Alguien sabe qué comando se ejecuta cuando hago clic en "apagar" en el entorno de escritorio?
kubahaha

Respuestas:

53

Abra una terminal (CTRL + T) y escriba lo siguiente sudo visudo

Agregue la siguiente línea:

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

o

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

Esto permite al usuario / grupo ejecutar los tres comandos anteriores, utilizando sudo , sin embargo, sin contraseña.

Entonces, sudo poweroffahora resultará en un apagado sin contraseña.


Sin embargo, para que esto sea aún más limpio, agregaremos un alias para que se ejecuten shutdownllamadas sudo shutdown now.

Abierto ~/.bash_aliasespara edición.

nano ~/.bash_aliases

Inserte la siguiente línea al final del archivo:

alias shutdown='sudo shutdown now' 

Finalmente, cargue los cambios en el .bash_aliasesarchivo ...

source ~/.bash_aliases

¡Pruébalo!

shutdown

Gracias, Eric .

SirCharlo
fuente
36

Una forma segura de hacer esto sin usar sudo y sin jugar con el sistema es ejecutar estos comandos de una línea :

Para Ubuntu 14.10 o anterior:

Apagar:

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

Reiniciar:

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

consolekitInstalar consolekit , por supuesto, debe estar instalado en su sistema.

Otros comandos que te pueden gustar:

Suspender:

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

Hibernar: (si está habilitado en su sistema)

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


Para Ubuntu 15.04 y posterior:

(Esto se debe al cambio de uso de Ubuntu en systemdlugar de Upstart)

systemctl poweroff

systemctl reboot

systemctl suspend

systemctl hibernate

systemctl hybrid-sleep

Dado que la hibernación normalmente está deshabilitada de manera predeterminada en los sistemas Ubuntu, puede habilitarla marcando esta respuesta: https://askubuntu.com/a/617254/101985

Fuente original: https://bbs.archlinux.org/viewtopic.php?id=127962

Majal
fuente
3

unity utiliza muchos servicios gnome, y en ese caso también, puede cerrar gnome way.

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

Hará el trabajo.

Ohad Cohen
fuente
Parece que esto solo funciona para cerrar sesión. De la página del manual de --no-prompt:End the session without user interaction. This only works with --logout.
Pylinux
1

Mientras que usted puede utilizar el método de permitir que NOPASSWDel /usr/sbin/shutdown, aunque otra, DE-solución independiente es usar solo init 0.

ID universalmente único
fuente
0

eso es fácil. usando la opción -S como esta:

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