Есть альтернатива отключать подсветку ЖК-дисплея, когда захотите. Просто введите
xset dpms force off
и нажмите enter в терминале или сделайте его панель запуска и прикрепите его на панели единства.
Если вы используете оболочку gnome, тогда расширение оболочки gnome для прикрепления десктопа к верхней панели, затем одним щелчком мыши вы можете отключить свой lcd.
Если это работает, вы также можете сделать комбинацию клавиш для xset dpms force off
Моя позиция в этом вопросе такова: если вы не уверены, можете ли вы или не можете запускать приложение с привилегией root, пока ваши учетные данные еще не вышли из строя, тогда просто отключите таймаут вообще, сделайте это 0 В частности, вам нужен этот параметр в вашем файле /etc/sudoers:
Defaults timestamp_timeout=0
Персональная страница определяет его так:
timestamp_timeout
Number of minutes that can elapse before sudo will ask
for a passwd again. The timeout may include a frac‐
tional component if minute granularity is insufficient,
for example 2.5. The default is 15. Set this to 0 to
always prompt for a password. If set to a value less
than 0 the user's time stamp will never expire. This
can be used to allow users to create or delete their
own time stamps via “sudo -v” and “sudo -k” respec‐
tively.
Однако, если вы намереваетесь быть осмотрительным, вы может определить следующую функцию в .bashrc
sudo_check()
{
real_path="$( realpath $1 )"
file "$real_path" | grep -q -i script
if [ $? -eq 0 ]; then
grep -q 'sudo' "$real_path" && \
{ echo '>>> ALERT: Its a script that requests sudo';
echo ' resetting sudo timestamp';
echo 'please rerun with sudo appended ';
}
sudo -k
else
sudo "$@"
fi
}
Эта функция проверяет, содержит ли сценарий вызов sudo и предупреждает вас об этом. Bellow - пример того, как я запускаю эту функцию в скрипте (кстати, это мой фоновый чейнджер для входа в систему)
$ sudo_check sergrep/chgreeterbg.sh
>>> ALERT: Its a script that requests sudo
resetting sudo timestamp
Как вы можете различать скрипт и исполняемую двоичную команду?
Конечно, вы можете подумать об определении функции с именем sudo, которая проведет проверки работоспособности перед запуском фактического двоичного файла, но
Поскольку сценарий может иметь любое имя, что, если сценарий имеет имя типа ls? Таким образом, проверка расширений, подобных .sh, не поможет. Также чтение shebang в качестве первой строки скрипта тоже не поможет, потому что скрипт может работать без наличия shebangЯ думаю, если вы тоже параноидальный об этом, вы можете думать об отключении кэширования паролей вообще, создав псевдоним вроде:
alias sudo='sudo -k'
и поместив его в свой ~/.bashrc.