目录 shell 脚本的问题

目录 shell 脚本的问题

我在为工作编写的 shell 脚本中遇到了一些问题。一切似乎都工作正常,直到它杀死显示目录的 chrome 实例,然后打开一个显示幻灯片的 chrome 实例(如果树莓派空闲足够长的时间)。

我看到的是幻灯片铬合金被杀死,即使没有任何东西被触及。我无法判断它是否是 xprintidle,即使我正在运行 echo 脚本来检查空闲计时器显示的内容,当 chrome 被杀死时,有时空闲计时器已被重置,指示活动,有时它没有重置,仍然处于它所在的时间范围内应该显示该幻灯片。

这是运行第一部分的代码,它在循环中运行并检查以确保 chrome 已打开目录页面,除非存在 screenaver.status 文件,这可确保如果目录被用户关闭,它将重新打开(此脚本在启动时作为自动运行运行):

#!/bin/bash

while :
do

RUNNING=$(pidof chromium-browse)

if [ -n "$RUNNING" ] && [ ! -f /home/pi/statusfiles/screensaver.status ]
    then
        sleep 1
    else
        touch /home/pi/statusfiles/catalog.status
        chromium-browser --start-maximized --user-data-dir=/home/pi/chromiumsessions/chromiumlive --incognito http://www.google.com
        sleep 10
fi
sleep 1
done

这是运行鼠标移动时终止屏幕保护程序进程的代码(导致 xprintidle 重置),这也会每 2 分钟清除 chrome 实例中的用户数据,并且当 xprintidle 达到一定时间时,它会终止目录chrome 会话并打开屏幕保护程序会话(此脚本作为 cronjob 运行):

#!/bin/bash

while true
do
RUNNING=$(pidof chromium-browse)
IDLETIME=$(export DISPLAY=:0 && sudo -u pi xprintidle)

if [ "$IDLETIME" -lt "120000" ] && [ ! -f /home/pi/statusfiles/catalog.status ]
    then
        killall chromium-browser
        rm -rf /home/pi/statusfiles/screensaver.status
    else
        sleep 1
fi

if [ "$IDLETIME" -gt "120000" ] && [ "$IDLETIME" -lt "300000" ] && [ -f /home/pi/statusfiles/catalog.status ]
    then
        killall chromium-browser
        sleep 1
        rm -rf /home/pi/chromiumsessions/chromiumlive
        rm -rf /home/pi/Downloads/*
        mkdir /home/pi/chromiumsessions/chromiumlive
        chown -R pi:pi /home/pi/chromiumsessions/chromiumlive
        cp -R /home/pi/chromiumsessions/chromiumgood/* /home/pi/chromiumsessions/chromiumlive/
        chown -R pi:pi /home/pi/chromiumsessions/chromiumlive
        rm -rf /home/pi/statusfiles/catalog.status
        sleep 120
    else
        sleep 1
fi

if [ "$IDLETIME" -gt "300000" ] && [ ! -f /home/pi/statusfiles/screensaver.status ]
    then
        touch /home/pi/statusfiles/screensaver.status
        killall chromium-browser
        rm -rf /home/pi/statusfiles/catalog.status
        chromium-browser --temp-profile --kiosk --start-fullscreen http://www.google.com/
    else
        sleep 1
fi

done

非常感谢任何和所有的帮助。

相关内容