![屏幕解锁时自动运行程序(Ubuntu)](https://linux22.com/image/1244951/%E5%B1%8F%E5%B9%95%E8%A7%A3%E9%94%81%E6%97%B6%E8%87%AA%E5%8A%A8%E8%BF%90%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%88Ubuntu%EF%BC%89.png)
如何让程序在 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
希望这可以帮助