Я пытаюсь создать свой собственный дистрибутив Linux в формате LiveCD. Я установил веб-сервер в свой Linux LiveCD и заставил его автоматически запускаться во время загрузки.
Я сделал LiveCD для автоматического входа в среду рабочего стола без необходимости ввода пароля пользователем.
Теперь я хотел бы настроить веб-браузер так, чтобы он автоматически всплывал во время запуска и отображал домашнюю страницу веб-сервера.
Я пробовал разные методы, но обнаружил, что когда пользователь загружает LiveCD, большую часть времени среда рабочего стола и веб-браузер будут отображаться до того, как веб-сервер завершит запуск. В результате веб-браузер покажет страницу с ошибкой «веб-страница не найдена / недоступна».
Через несколько секунд (после того, как веб-сервер завершит запуск), если пользователь нажмет кнопку обновления, он сможет увидеть домашнюю страницу.
Как я могу убедиться, что веб-сервер был запущен, прежде чем окружение рабочего стола будет показано пользователю?
Спасибо.
Вы можете, например, использовать какой-то сценарий вроде этого:
#!/bin/bash
# Check existence of webserver pidfile
pidfile="/var/run/nginx.pid"
if [ -f $pidfile ]; then
echo "Pidfile exists"
< OPEN BROWSER >
else
echo "Web Server isn't started"
fi
Сценарий оболочки, подобный тому, что опубликовал @hangover, будет работать.
Если это гонка всего на пару секунд, то другим подходом было бы создание локального HTML-файла и установка его в качестве стартовой страницы для вашего веб-браузера с таким путем, как file:///var/www/html/localhost/startingup.html
. Сама страница скажет «Подождите, пока я завершаю запуск, это займет совсем немного времени», а затем перейдет на вашу настоящую веб-страницу, скажем, через 30 секунд.
<html>
<head>
<title>Starting up...</title>
<meta http-equiv="refresh" content="30; http://your.actual.page/">
</head>
<body>
<h1>Please wait, I'm still starting up.</h1>
</body>
</html>