ディレクトリシェルスクリプトの問題

ディレクトリシェルスクリプトの問題

仕事用に作成されているシェルスクリプトにはいくつかの問題があります。ディレクトリを表示するChromeインスタンスを終了してから、スライドショーを表示するChromeインスタンスを開くまで(Raspberry Piが十分に長い間アイドル状態の場合)、すべてが正常に動作しているようです。

私が見るものは何も触れていませんが、スライドクロムが死ぬことです。 xprintidleかどうかはわかりません。アイドルタイマーが表示される内容を確認するためにエコスクリプトを実行しても、Chromeが終了したときにアイドルタイマーがリセットされ、アクティビティが表示され、時々リセットされずに残ります。 on スライドは、対応する時間範囲で表示する必要があります。

これは最初の部分を実行するコードです。ループで実行され、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

すべての助けに感謝します。

ベストアンサー1

おすすめ記事