5
加载用户桌面后如何从脚本中进行检测?
我有一个守护程序,它以bash实现并通过cron和@reboot选项运行,该守护程序显示桌面处于非活动状态。脚本如下(出于测试目的,时间简短): #!/bin/bash P_STATE=0 while : do sleep 5 if [ $P_STATE == 0 ]; then [ `xprintidle` -ge 25000 ] && P_STATE=1 && wmctrl -k on else [ `xprintidle` -le 25000 ] && P_STATE=0 done 问题:例如,如果用户仍然在登录屏幕中,xprintidle并且wmctrl由于尚未加载桌面而失败。为了避免这种情况,我在脚本的开头放置了以下几行: while: do sleep 10s [ -n `who | grep "$USER"` ] && break done …