如何让程序在 Ubuntu 中每次解锁屏幕时自动运行?
答案1
可以使用 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
希望这可以帮助