Nobody about something

О скринсейвере и ноутбуке

Написано 29 апреля 2010 в 18:41 - Рубрики: *nix

После перехода с kde на openbox, одним из последствий стал отказ от kpowerdevil со всеми вытекающими. А я хочу, чтобы при закрытии крышки ноутбука запускался скринсейвер и экран блокировался.
В качестве скринсейвера я использую xscreensaver.
В итоге сделал это через acpi скрипты.

Для начала узнал ID события, вызываемого закрытием крышки через acpi_listen.
ID оказался такой: LID 00000080
Создал файлик /etc/acpi/events/screen_lock содержащий
event=LID 00000080
action=/etc/acpi/screen_lock.sh

Создал скрипт /etc/acpi/screen_lock.sh
#!/bin/sh
export PATH="/usr/bin:/usr/sbin:/bin:/sbin"
USER=$(ps uxaww | grep -v grep|grep dbus-launch|cut -f 1 -d ' ')
DISPLAY=$(ps uxaw|grep -v grep|grep X|grep -oE ' [0-9]{0,1}:[0-9]{1} '|sed 's/\ //g')
su $USER -c "DISPLAY=$DISPLAY xscreensaver-command -lock"

Сделал его исполняемым и перезапустил acpid.
Экран теперь блокируется.

Метки: ,

Оставить комментарий