Shutdown dari terminal tanpa memasukkan kata sandi?

51

Saya memiliki Ubuntu edisi desktop.

Saya suka Terminal sehingga saya lebih suka mematikan komputer saya dengan shutdownperintah.

Namun ketika saya mengetiknya shutdown nowmeminta saya untuk memasukkan kata sandi saya. Apakah ada cara saya dapat mematikan komputer saya menggunakan perintah ini tanpa memasukkan kata sandi saya?

Santosh Kumar
sumber
4
Adakah yang tahu perintah apa yang dijalankan ketika saya mengklik "shutdown" di Desktop Environment?
kubahaha

Jawaban:

53

Buka terminal (CTRL + T) dan ketik berikut ini sudo visudo

Tambahkan baris berikut:

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

atau

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

Ini memungkinkan pengguna / grup untuk menjalankan tiga perintah di atas, menggunakan sudo , namun tanpa kata sandi.

Jadi, sudo poweroffsekarang akan menghasilkan shutdown tanpa kata sandi.


Namun, untuk menjadikan ini lebih bersih, kami akan menambahkan alias, sehingga menjalankan shutdownpanggilan sudo shutdown now.

Buka ~/.bash_aliasesuntuk diedit.

nano ~/.bash_aliases

Masukkan baris berikut di akhir file:

alias shutdown='sudo shutdown now' 

Akhirnya, muat perubahan ke .bash_aliasesfile ...

source ~/.bash_aliases

Cobalah!

shutdown

Terima kasih, Eric .

TuanCharlo
sumber
36

Cara aman untuk melakukan ini tanpa menggunakan sudo dan tanpa mengutak-atik sistem, adalah dengan menjalankan perintah satu-baris ini:

Untuk Ubuntu 14.10 atau sebelumnya:

Mematikan:

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

Mengulang kembali:

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

consolekitInstal consolekit tentu saja harus diinstal sistem Anda.

Perintah lain yang mungkin Anda sukai:

Menangguhkan:

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

Hibernasi: (jika diaktifkan di sistem Anda)

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


Untuk Ubuntu 15.04 dan yang lebih baru:

(Ini disebabkan oleh perubahan Ubuntu dalam menggunakan systemdalih-alih Upstart)

systemctl poweroff

systemctl reboot

systemctl suspend

systemctl hibernate

systemctl hybrid-sleep

Karena hibernate biasanya dinonaktifkan secara default di sistem Ubuntu, Anda dapat mengaktifkannya dengan memeriksa jawaban ini: https://askubuntu.com/a/617254/101985

Sumber asli: https://bbs.archlinux.org/viewtopic.php?id=127962

Majal
sumber
3

Unity menggunakan banyak layanan gnome, dan dalam hal ini juga - Anda dapat mematikan cara gnome.

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

akan melakukan pekerjaan.

Ohad Cohen
sumber
Sepertinya ini hanya berfungsi untuk logout. Dari halaman manual --no-prompt:End the session without user interaction. This only works with --logout.
Pylinux
1

Meskipun Anda dapat menggunakan metode yang memungkinkan NOPASSWDpada /usr/sbin/shutdown, meskipun yang lain, solusi DE-independen adalah dengan hanya menggunakan init 0.

Secara universal unik
sumber
0

itu mudah. menggunakan opsi -S seperti ini:

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