Когда я набираю systemctl suspend
в терминале, мой компьютер переходит в спящий режим без проблем. . Однако, когда я набираю systemctl hibernate
, он сначала выводит эту ошибку
Failed to hibernate system via logind: Access denied
, а затем запрашивает пароль, говоря, что hibernate.target требует аутентификации.
Итак, есть идеи, как сделать так, чтобы systemctl hibernate
вел себя так же, как systemctl suspend
?
Я получил такое же сообщение с недавно установленными Ubuntu 18.04 и 19.10. Вероятно, это потому, что вам нужны привилегии для выполнения systemctl hibernate
. Чтобы решить эту проблему, я сделал:
sudo visudo -f /etc/sudoers.d/hibernate
и добавил следующую строку:
%adm ALL=NOPASSWD: /bin/systemctl hibernate, /usr/bin/systemctl hibernate
Примечание: Мой пользователь является членом группы adm. В качестве альтернативы вы можете добавить новую группу, добавить в нее всех соответствующих пользователей и заменить % adm
на %
.
Я не уверен, что это лучший способ, но он решил проблему для меня.
Кроме того, вам необходимо пространство подкачки (файл подкачки или раздел подкачки) минимального размера вашей оперативной памяти, чтобы перевести компьютер в спящий режим.
РЕДАКТИРОВАТЬ: добавлен параметр -f для visudo