![Ubuntu Kiosk - 延迟加载浏览器/gnome,直到自定义应用程序完全加载](https://linux22.com/image/808762/Ubuntu%20Kiosk%20-%20%E5%BB%B6%E8%BF%9F%E5%8A%A0%E8%BD%BD%E6%B5%8F%E8%A7%88%E5%99%A8%2Fgnome%EF%BC%8C%E7%9B%B4%E5%88%B0%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%AE%8C%E5%85%A8%E5%8A%A0%E8%BD%BD.png)
我有一个 ubuntu 信息亭,它在启动时会在 Firefox 中加载本地 Web 应用程序。我启动 gnome 和 Firefox 的速度太快了。加载后我们需要等待大约 30 秒,然后在浏览器上点击刷新才能正确加载应用程序。
有什么最好的方法可以稍微减慢速度。理想情况下,我希望它在我们从 apache 获得 200 个成功代码后出现。我是否应该有一个 shell 脚本,在它获得 200 之前不返回 true?或者现在可能有一个在 gnome 加载之前执行 sleep 60 的脚本?
放置减慢 gnome/firefox 启动速度的脚本的最佳位置是哪里?
答案1
我个人会在脚本中尝试这样的操作:
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 秒。休眠后它会重新循环。
答案2
为了定义在启动桌面环境和应用程序之前运行脚本的会话,我们可以创建一个用户定义会话我们可以在其中编写任何需要的脚本。