DebianのシェルスクリプトでChrome(F5)をフラッシュする方法(xdotoolの置き換え)

DebianのシェルスクリプトでChrome(F5)をフラッシュする方法(xdotoolの置き換え)

選択肢を見つける必要がありますxdotool。私はChromiumを使って定期的にWebページを更新するためにRaspberry Piを使用しています。これにはシェルスクリプトを使用します。

xdotool search --name chromium key --clearmodifiers ${RELOAD}

ただし、これはxdotoolシステムが最終的に応答を停止するまでシステムが忙しくなります。xdotool私のシステムにそれほど大きな負担をかけない代替案はありますか?

編集(フルシェルスクリプト)

#!/bin/bash
a=0
RELOAD="CTRL+R"
while (true)
do
    wget -q --spider http://google.com
    if [ $? == $a ]; then
        ps cax | grep chromium
        if [ $? == $a ]; then
            echo "chrome running"
        else    
            echo "chrome starting"
            /home/pi/Desktop/APPLICATION_CALENDAR.SH &          
        fi
        echo $? $a
        echo "online1"
        xdotool search --name chromium key --clearmodifiers ${RELOAD}
    else
        echo "offline"
        sleep 15s
    fi
sleep 20s   
done

ベストアンサー1

Webページにアクセスするには、ブラウザの完全なグラフィカルインターフェイスが必要なく、HTTPリクエストのみが必要です。たとえば、cURLとCronを使用すると、n分ごとにHTTP要求をスケジュールできる必要があります。

たとえば、次のcron呼び出しは次にアクセスしますexample.com

curl http://example.com

出力を見ると、WebサイトのHTMLソースコードが表示されます。今すぐこのタスクを実行するには、次のものを使用できます。

watch -n60 curl http://example.com

...これはよりcurl60秒ごとに出力します。

これらすべてのジョブがバックグラウンドで発生するようにするには、クローンジョブをスケジュールする必要があります。crontab -e編集ユーザーのcrontabを実行してジョブを入力します。

5 * * * * /usr/bin/curl http://example.com > /dev/null 2>&1

クローンジョブの予約について詳しくはこちらをご覧ください。

今ではcurl通常実行中得るリクエストしてください。一部を追加したい場合があります。郵便はがきあなたの要求(フォーム)に従って情報を提供してください。郵便はがきスイッチを使用してデータを追加できます--data

curl --data='username=myuser&[email protected]' http://example.com

パラメータを追加したい場合得るリクエストがあれば、ブラウザに表示されるURLに追加するだけです。

cURLのもう一つの興味深い点はクッキージャーです。これにより、複数の cURL リクエストでセッションを維持できます。たとえば、ログイン要求をすると...

curl -c ~/cookiejar --data='login=mylog&pass=mypass' http://example.com/login.php

...-c交換はあなたのセッションデータをに保存します~/cookiejar。今あなたの個人的なプロフィールにアクセスするには...

curl -c ~/cookiejar http://example.com/private.php

...あなたのクッキー情報がリクエストと共に渡されるので、その情報にアクセスできます。

最後に、HTTP経由で資格情報を渡すときにSSLを使用することをお勧めします。以下は一般的なログイン例です。

$ curl -c ~/cookiejar --data='login=mylogin&pass=mypass' https://example.com/login.php
$ curl -c ~/cookiejar https://example.com/private.php
$ curl -c ~/cookiejar https://example.com/logout.php
$ rm ~/cookiejar

...または妄想がよりひどい場合:shred -fuvz -n3 ~/cookiejar

cURL はさまざまな言語のライブラリとして使用できます。PHPPython、など...

おすすめ記事