Arresto dal terminale senza inserire la password?


51

Ho un'edizione desktop di Ubuntu.

Mi piace il Terminale in modo che preferisca spegnere il mio computer con il shutdowncomando.

Tuttavia quando shutdown nowscrivo mi viene richiesto di inserire la mia password. Esiste un modo per spegnere il mio computer usando questo comando senza inserire la mia password?


4
Qualcuno sa quale comando viene eseguito quando faccio clic su "shutdown" in Desktop Environment?
Kubahaha,

Risposte:


53

Aprire un terminale (CTRL + T) e digitare quanto segue sudo visudo

Aggiungi la seguente riga:

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

o

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

Ciò consente all'utente / al gruppo di eseguire i tre comandi precedenti, usando sudo , ma senza password.

Quindi, sudo poweroffsi tradurrà ora in un arresto senza password.


Tuttavia, per rendere questo ancora più pulito, aggiungeremo un alias, in modo che le shutdownchiamate in esecuzione sudo shutdown now.

Apri ~/.bash_aliasesper la modifica.

nano ~/.bash_aliases

Inserisci la seguente riga alla fine del file:

alias shutdown='sudo shutdown now' 

Infine, carica le modifiche al .bash_aliasesfile ...

source ~/.bash_aliases

Provalo!

shutdown

Grazie Eric .


36

Un modo sicuro per farlo senza usare sudo e senza armeggiare con il sistema è eseguendo questi comandi da una riga :

Per Ubuntu 14.10 o precedenti:

Spegnimento:

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

Ricomincia:

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

Installa consolekitNaturalmente consolekit dovrebbe essere installato sul sistema.

Altri comandi che potrebbero piacerti:

Sospendere:

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

Ibernazione: (se abilitato sul tuo sistema)

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


Per Ubuntu 15.04 e versioni successive:

(Ciò è dovuto al cambiamento di Ubuntu nell'uso systemdinvece di Upstart)

systemctl poweroff

systemctl reboot

systemctl suspend

systemctl hibernate

systemctl hybrid-sleep

Poiché l' ibernazione è normalmente disabilitata per impostazione predefinita nei sistemi Ubuntu, è possibile abilitare controllando questa risposta: https://askubuntu.com/a/617254/101985

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


3

unità utilizza molti servizi di gnome, e anche in quel caso - puoi chiudere gnome.

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

farà il lavoro.


Sembra che funzioni solo per il logout. Dalla pagina man di --no-prompt:End the session without user interaction. This only works with --logout.
Pylinux il

1

Mentre è possibile utilizzare il metodo di permettere NOPASSWDsu /usr/sbin/shutdown, anche se un altro, la soluzione DE-indipendente è a solo uso init 0.


0

questo è facile. usando l'opzione -S in questo modo:

echo <your-password> | sudo -S poweroff
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.