Разбирая старые непрочитанные заметки в Google Reader, нашёл ещё несколько советов с использованием D-Bus за авторством Dennis Nienhüser. Например, вот так можно заблокировать экран:
qdbus org.kde.krunner /ScreenSaver Lock
(можно также ввести «заблокировать экран» или «lock screen» в KRunner)
Более интересная команда
qdbus org.kde.krunner /ScreenSaver SimulateUserActivity
Не позволит запуститься хранителю экрана. Правда, в этом случае X-сервер может в зависимости от настроек экран потушить. Чтобы это обойти, необходимо запустить команду
xset dpms 0 0 0
Первый аргумент xset dpms указывает время в секундах до гашения монитора без его выключения (фактически — просто «чёрный скринсейвер»), второй — до перехода в ждущий режим и третий — до выключения монитора (на практике третье действие обычно аналогично второму). Ноль, соответственно, означает выключение этих функций. К слову, эти же параметры можно настроить и в xorg.conf, но у меня эти настройки почему-то не работают.
Вот этот скрипт позволит отключить запуск скринсейвера или выключение монитора на время выполнения команды, переданной в параметрах:
#!/bin/bash
xset dpms 0 0 0
$* &
while jobs | grep -q Running
do
qdbus org.kde.krunner /ScreenSaver SimulateUserActivity
sleep 30
done
xset dpms 0 0 3600 # выключение монитора через час простоя
-
ksl87
-
anonymous

