Debian의 쉘 스크립트에서 크롬(F5)을 플래시하는 방법(xdotool 대체)

Debian의 쉘 스크립트에서 크롬(F5)을 플래시하는 방법(xdotool 대체)

대안을 찾아야 해요 xdotool. 나는 Chromium을 사용하여 주기적으로 웹 페이지를 새로 고치기 위해 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

웹 페이지에 액세스하려면 브라우저의 전체 그래픽 인터페이스가 필요하지 않으며 HTTP 요청만 있으면 됩니다. 예를 들어, cURL 및 Cron을 사용하면 n분마다 HTTP 요청을 예약할 수 있어야 합니다.

예를 들어 다음 cron호출은 다음에 액세스합니다 example.com.

curl http://example.com

출력을 보면 웹 사이트의 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은 다양한 언어의 라이브러리로 사용할 수 있습니다.PHP,,파이썬, 등...

관련 정보