我正在寻找一种存储锁定/解锁屏幕时间的方法。
A=$(date)
echo $A >> $HOME/time_xprofile
我尝试了什么:
$HOME/.bashrc
$HOME/.bash_logout
$HOME/.bash_prompt
$HOME/.xprofile
然后,我锁定了屏幕,并检查文件是否出现,并且每次都失败。我该如何检查时间呢?
以下脚本将time_xprofile
在您家中的文件中写入锁定/解锁时间。
#!/bin/bash
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | \
( while true
do read X
if echo $X | grep "boolean true" &> /dev/null; then
echo "locking at $(date)" >> $HOME/time_xprofile
elif echo $X | grep "boolean false" &> /dev/null; then
echo "unlocking at $(date)" >> $HOME/time_xprofile
fi
done )
保存脚本。授予其执行权限。
chmod +x script.sh
怎么跑
./script.sh &
注意该脚本应在后台运行。不要杀死它。如果在后台运行脚本时打开屏幕锁定/解锁,则锁定/解锁的时间将记录在time_xprofile
家里的文件中。可以使用它在屏幕锁定/解锁时运行某些命令或脚本。
请注意,如果您关闭当前终端,您的脚本将被杀死。您可以使用
nohup ./script.sh &
然后,即使关闭终端,它也将继续运行。
如何杀死脚本
要终止进程,请在终端中使用
ps ax| grep "[s]cript.sh" | cut -d' ' -f2 | xargs kill
上面的脚本是受此答案启发的
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句