На этот вопрос уже есть ответ здесь:
Я изменил свой ярлык ctrl-alt-l
, поэтому вместо того, чтобы просто заблокировать экран, система переходит в режим ожидания.
(для справки, команда gksudo pm-suspend-hybrid
)
как видите, программу нужно запускать от имени пользователя root, поэтому я добавил gksudo
. Я бы очень хотел, чтобы система приостанавливалась без ввода пароля. Есть ли способ сделать это?
Откройте терминал и выполнитесь sudo visudo
.
Затем можно отредактировать sudoers файл, где можно указать, кто может выполниться который команда как корень с и без пароля. В конце файла Вы вставляете или эту строку
nonprivilegeduser ALL=NOPASSWD:/usr/sbin/pm-suspend-hybrid
, чтобы каждый пользователь смог выполнить ту команду как корень без пароля, или
Your_Username ALL=NOPASSWD:/usr/sbin/pm-suspend-hybrid
только для Вашего пользователя, чтобы смочь сделать это (конечно, необходимо скорректировать его для пользователя). Затем Вы сохранили файл (должен быть Ctrl+O), и выйдите из программы (Ctrl+X).
Наконец, необходимо отредактировать команду для чтения sudo pm-suspend-hybrid
вместо gksudo pm-suspend-hybrid
.
ПРИМЕЧАНИЕ: должна также быть возможность сделать это с dbus (не требует sudoers, редактирующего), но это решение имеет преимущество, что это работает с каждым UI.
Обычно это - то, что SUID укусил , для, но в Вашем случае я, вероятно, заменил бы pm-suspend-hybrid
другим вызовом, который не должен базироваться полномочия (Вы не должны вводить пароль при приостановке Единицы, в конце концов).
Просто используют следующую команду вместо этого (без sudo
):
dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
Ссылки:
Введите команду:
sudo visudo
и затем введите пароль.
Вы видите ниже строки в терминале
%sudo ALL=(ALL:ALL) ALL
отредактируйте %sudo строку с
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
Сохраните использование модификаций CtrlX.