Bash 스크립트에서 최소화된 여러 Firefox 탭(5초 간격) 실행

Bash 스크립트에서 최소화된 여러 Firefox 탭(5초 간격) 실행

특정 도메인에서 여러 탭을 열고 싶습니다. 각 탭에는 bash 스크립트에 정의된 서로 다른 자산이 있습니다. 서버에서 차단되는 것을 피하기 위해 다음과 같이 5초마다 탭을 엽니다.

for ((i = 0; i < nWebsite; i = i + 1)); do
    (firefox -new-tabs "${WebsiteString[i]}" > /dev/null 2>&1 &)
    sleep 5
done

그런데 아쉽게도 새 탭을 열 때마다 포커스가 Firefox로 넘어가고, 탭을 여러 개 열고 싶으니까 시간이 오래 걸립니다.

위 for 루프의 각 탭을 어떻게 최소화할 수 있나요?


나는 다음을 시도했다:

for ((i = 0; i < nWebsite; i = i + 1)); do
    (firefox -new-tab "${WebsiteString[i]}" > /dev/null 2>&1 &)
    xdotool getactivewindow windowminimize
    sleep 5
done

그러나 포커스가 여전히 새 창으로 이동되어 최소화되기 때문에 문제가 해결되지 않습니다.


Firefox를 요청하고 있지만 이 솔루션이 google-chrome에서도 작동하면 좋을 것입니다!

답변1

생각하다해결책은 현재 활성 창 ID를 저장하지 않는 것입니다.

~에서이 페이지

xdotool getactivewindow > ~/.window_id
for ((i = 0; i < nWebsite; i = i + 1)); do
    (firefox -new-tab "${WebsiteString[i]}" > /dev/null 2>&1 &)
    xdotool windowfocus $(cat ~/.window_id)
    xdotool windowactivate $(cat ~/.window_id)
    sleep 5
done

물론 이것은 루프가 반복될 때마다 이 작업을 수행합니다. xdtools가 완료될 때(25초 후) 다음과 같이 루프 외부에 두려면:

xdotool getactivewindow > ~/.window_id
for ((i = 0; i < nWebsite; i = i + 1)); do
    (firefox -new-tab "${WebsiteString[i]}" > /dev/null 2>&1 &)
    sleep 5
done
xdotool windowfocus $(cat ~/.window_id)
xdotool windowactivate $(cat ~/.window_id)

관련 정보