Как заставить программу запускаться автоматически каждый раз, когда я разблокирую экран в Ubuntu?
2
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
надеюсь это поможет