Хинду является основанным на источнике дистрибутивом Linux, который будет по-видимому работать на чем-либо (как долго, поскольку Вы готовы скомпилировать его). Это - перевозка системы управления пакета, основан на портах FreeBSD и имеет уникальное понятие флагов использования, которые позволяют Вам настраивать, как вещи configure
- редактор легко, а также какие файлы установлены и несколько других вещей.
Хинду является... восходящим распределением. Подразумевать, что это не получено из другого распределения (например, как Ubuntu получен из Debian и Debian, является 'восходящим распределением'). Это получило дистрибутивы, что я знаю о Sabayon и Funtoo. Sabayon прокручивается, и Funtoo также прокручивается.
У меня было требование сделать банши (аудиоплеер Gnome) паузой/непаузой, когда экран блокировался/разблокировался. Я нашел билет в проекте панели запуска банши:
https://bugs.launchpad.net/banshee / + ошибка/237687
Кто-то создал сценарий, который заметил бы (через DBus), если бы экран был (ООН), заблокировал и инициировал бы банши к (ООН) пауза. Я добавил маленькую тонкую настройку к этому сценарию и использовал его некоторое время. Я добавил свою обновленную копию к тому билету.
Теперь я знаю, что это не точно, что Вы хотите сделать. Но Вы могли, вероятно, взять тот сценарий Python (который уже обнаруживает экран, блокирует/разблокирует), и измените его немного, чтобы сделать то, что требуется сделать. Это - также мое понимание, что экранная заставка KDE поддерживает тот же интерфейс DBus как экранная заставка гнома. Кажется, что лучшая документация для стороны KDE вещей здесь:
http://quickgit.kde.org/?p=kde-workspace.git&a=blob&f=krunner/screensaver/saverengine.h
Удачи!
Для XScreenSaver решение xscreensaver-command -watch
man xscreensaver-command
содержит сценарий Perl в качестве примера для обработки различной экранной заставки и экранных событий блокировки, как ПРОБЕЛ, БЛОКИРОВКА, UNBLANK и т.д.
Здесь это - звук выключающего и включающего в качестве примера с экранной заставкой:
#!/usr/bin/perl
my $blanked = 0;
open (IN, "xscreensaver-command -watch |");
while (<IN>) {
if (m/^(BLANK|LOCK)/) {
if (!$blanked) {
system "sound-off";
$blanked = 1;
}
} elsif (m/^UNBLANK/) {
system "sound-on";
$blanked = 0;
}
}
Не уверенный, если KDE использует XScreenSaver все же.