Відключення від терміналу без введення пароля?


51

У мене є настільне видання Ubuntu.

Мені подобається Термінал, так що я вважаю за краще вимкнути комп’ютер shutdownкомандою.

Однак, коли я shutdown nowввожу, це пропонує мені ввести свій пароль. Чи є спосіб я вимкнути комп'ютер за допомогою цієї команди, не вводячи пароль?


4
Хто-небудь знає, яка команда виконується, коли я натискаю "вимкнення" в робочому середовищі?
кубахаха

Відповіді:


53

Відкрийте термінал (CTRL + T) і введіть наступне sudo visudo

Додайте наступний рядок:

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

або

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

Це дозволяє користувачеві / групі виконувати вищевказані три команди, використовуючи sudo , однак без пароля.

Отже, sudo poweroffтепер виникламе безвідмовне відключення.


Однак, щоб зробити це ще більш чистим, ми додамо псевдонім, щоб виконувати shutdownдзвінки sudo shutdown now.

Відкрито ~/.bash_aliasesдля редагування.

nano ~/.bash_aliases

Вставте наступний рядок у кінці файлу:

alias shutdown='sudo shutdown now' 

Нарешті, завантажте зміни у .bash_aliasesфайл ...

source ~/.bash_aliases

Спробуй!

shutdown

Спасибі, Еріку .


36

Безпечний спосіб зробити це, не використовуючи sudo та не поводячись із системою, виконуючи ці однолінійні команди:

Для Ubuntu 14.10 або новішої версії:

Закрити:

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

Перезапуск:

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

consolekit,Встановіть consolekit звичайно, повинен бути встановлений вашою системою.

Інші команди, які вам можуть сподобатися:

Призупинити:

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

Спящий режим: (якщо увімкнено у вашій системі)

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


Для Ubuntu 15.04 та новіших версій:

(Це пов'язано із зрушенням Ubuntu у використанні systemdзамість Upstart)

systemctl poweroff

systemctl reboot

systemctl suspend

systemctl hibernate

systemctl hybrid-sleep

Оскільки сплячий режим зазвичай відключений за замовчуванням у системах Ubuntu, ви можете увімкнути це, перевіривши цю відповідь: https://askubuntu.com/a/617254/101985

Першоджерело: https://bbs.archlinux.org/viewtopic.php?id=127962


3

Єдність використовує багато служб gnome, і в цьому випадку теж - ви можете відключити gnome спосіб.

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

зробить роботу.


Схоже, це працює лише для виходу. З чоловічої сторінки --no-prompt:End the session without user interaction. This only works with --logout.
Pylinux

1

Хоча ви можете використовувати метод NOPASSWDвключення /usr/sbin/shutdown, хоча іншим, незалежним від DE рішенням є просто використання init 0.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.