2

Как заставить программу запускаться автоматически каждый раз, когда я разблокирую экран в Ubuntu?

1 ответ1

3

Может быть сделано с использованием dbus API

(пример perl скопирован с http://live.gnome.org/GnomeScreensaver/FrequentlyAskedQuestions и немного изменен для включения и выключения заставки)

my $cmd = "dbus-monitor --session \"type='signal',interface='org.gnome.ScreenSaver',member='ActiveChanged'\"";

open (IN, "$cmd |");

while (<IN>) {

    if (m/^\s+boolean true/) {

        print "*** Session is idle ***\n";

    } elsif (m/^\s+boolean false/) {

        print "*** Session is no longer idle ***\n";

    }

}

Затем разрешите запуск сценария:

sudo chmod +x /usr/local/sbin/SCRIPTNAME.pl

Добавьте скрипт в диспетчер сеансов («Система»> «Настройки»> «Сеансы»), чтобы он начинался с вашего входа в систему с помощью этой команды:

perl /usr/local/sbin/SCRIPTNAME.pl

надеюсь это поможет

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .