У меня есть киоск Ubuntu, который при загрузке загружает локальное веб-приложение в Firefox. Я загружаю гномов и Firefox слишком быстро. Нам нужно подождать около 30 секунд после его загрузки, а затем нажать кнопку «Обновить» в браузере, чтобы приложение загрузилось правильно.
Какой лучший способ немного замедлить это? В идеале я хотел бы, чтобы он появился после того, как мы получим 200 успешных кодов от Apache. Должен ли я иметь сценарий оболочки, который не возвращает true, пока не получит 200? Или, может быть, сейчас скрипт, который делает 60 сна перед загрузкой gnome?
Где лучше всего поместить скрипт для замедления загрузки gnome / firefox?
Чтобы определить сеанс, который запускает сценарий перед запуском среды рабочего стола и приложений, мы можем создать определяемый пользователем сеанс , где мы могли бы написать сценарий для всего, что необходимо.
Я лично попробовал бы что-то подобное в сценарии:
URL='http://localhost/site/'
while [[ $(wget -O /dev/null $URL 2>&1|egrep "200 OK"|wc -l) == "0" ]]; do
sleep 10;
done
firefox $URL
Это не проверено, поэтому может потребоваться небольшая работа.
Так же, как объяснение, эта монстровая линия запрашивает страницу с wget
и ищет код состояния 200 OK
в выходных данных wget
. Он подсчитывает количество строк вывода, поэтому вы всегда должны получать 0 или 1 в качестве результата.
Каждый раз, когда он получает 0 (то есть wget не имеет ответа 200 OK
), ему говорят, что он должен спать в течение 10 секунд. После этого сна он снова зацикливается.