我需要在我的Linux系统上检测到用户的不活动,以关闭它(相当无头的妻子,和相当昂贵的电费.-)。
我需要安排脚本(在crontab中),这样就不会有依赖X的工具工作了,我想(没有可用的$DISPLAY )。
有什么想法吗?
更新
对于“用户不活动”,我指的是用户输入不活动(鼠标和键盘)。
发布于 2012-11-25 14:08:23
索托洛克可能是适合你的工具。它允许您指定一段时间的不活动时间,然后应该触发一个命令。
发布于 2012-11-25 15:33:59
您可以考虑检查屏幕保护程序运行了多长时间。
#!/bin/bash
screensaver="atlantis"
t=$(
# check for the screensaver
ps h -o start -C $screensaver |\
# hh:mm:ss -> seconds
awk -F: '{print $1"*3600+"$2"*60+"$3}' |\
bc -l 2>/dev/null | sort -n | tail -1
)
if [ "$t" == "" ]
then
exit 0
fi
n=$(
date "+%T" |\
awk -F: '{print $1"*3600+"$2"*60+"$3}' |\
bc -l 2>/dev/null
)
runtime=$(( $n - $t ))
if [ $runtime -gt 3600 ] || [ $runtime -lt 0 ]
then
echo shutdown -h now
fi使用时间值需要从现在开始减去以获得运行时。另外,在我的例子中,显示在处理表中的屏幕保护程序将根据选择的屏幕保护程序而有所不同。因此,上面的程序假设“亚特兰蒂斯”是当前的屏幕保护程序。
https://stackoverflow.com/questions/13550435
复制相似问题