У меня есть настольная версия Ubuntu.
Мне нравится Терминал, поэтому я предпочитаю выключать компьютер с помощью команды shutdown
.
Однако, когда я набираю shutdown now
, он запрашивает у меня пароль. Можно ли каким-либо образом выключить компьютер с помощью этой команды без ввода пароля?
Безопасный способ сделать это без использования sudo и без вмешательства в систему - выполнить эти однострочные команды:
Завершение работы:
/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 , конечно, должен быть установлен в вашей системе.
Другие команды, которые могут вам понравиться:
Приостановить:
/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 на использование systemd
вместо Upstart
)
systemctl poweroff
systemctl reboot
systemctl suspend
systemctl hibernate
systemctl hybrid-sleep
Поскольку hibernate обычно отключен по умолчанию в системах Ubuntu, вы можете включить это, проверив этот ответ: https://askubuntu.com/a/617254/101985
Исходный источник: https : //bbs.archlinux.org/viewtopic.php? id = 127962
Хотя вы можете использовать метод разрешения NOPASSWD
на / usr / sbin / shutdown
, хотя другой, DE- Независимое решение - просто использовать init 0
.
это легко. используя параметр -S, например:
echo <your-password> | sudo -S poweroff
unity использует многие службы gnome, и в этом случае вы также можете выключить gnome способом.
gnome-session-quit --power-off --force --no-prompt
выполнит свою работу.
Откройте терминал (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 сейчас
.
Откройте ~/.bash_aliases
для редактирования.
nano ~/.bash_aliases
Вставьте следующую строку в конце файла:
alias shutdown='sudo shutdown now'
Наконец, загрузите изменения в файл .bash_aliases
...
source ~/.bash_aliases
Попробуйте!
shutdown
Спасибо, Эрик.
В Ubuntu 20.04 LTS я создал файл polkit
с
echo "[Shutdown or suspend without a password]
Identity=unix-user:$USER
Action=org.freedesktop.login1.set-wall-message;org.freedesktop.login1.halt;org.freedesktop.login1.suspend
ResultAny=yes
" | sudo tee /etc/polkit-1/localauthority/50-local.d/allow_shutdown_suspend.pkla
С этим systemctl halt
и systemctl suspend
работают без пароля. Это также работает удаленно, например, ssh 192.168.0.55 -t 'systemctl suspend'
.