Firefox 在网络启动前启动

Firefox 在网络启动前启动

我们有这台机器(ubuntu 10.04),在启动会话应用程序中具有自动登录和 Firefox。

但有时 Firefox 启动了,但网络却无法连通(可能是 DHCP 服务器延迟,或者是网络出现了一些奇怪的问题)。

我们如何更改启动会话应用程序的顺序?我们如何定义 Firefox 仅在网络连通后启动?

答案1

虽然我不确定 Ubuntu 10.04 版本中是否存在所有这些问题,但我还是把这个答案放在这里,以防万一,也可以用于较新的版本。您可以使用 upstart 在用户登录时启动 GUI 应用程序,并要求首先启动网络。

运行 GUI 应用程序

env DISPLAY=:0.0
exec /usr/bin/firefox

当用户登录时运行

  1. 这利用了 D-Bus 服务激活。

  2. 将“UpstartJob=true”添加到文件“/usr/share/dbus-1/system-services/org.freedesktop.ConsoleKit.service”。

  3. 创建与 D-Bus 服务相对应的作业配置文件,例如 /etc/init/user-login.conf [12]:

    start on dbus-activation org.freedesktop.ConsoleKit
    exec /usr/sbin/console-kit-daemon --no-daemon
    
  4. 确保 D-Bus 守护进程(“dbus-daemon”)使用 --activation=upstart 选项启动(参见 /etc/init/dbus.conf)。

现在,当用户登录时,D-Bus 将发出 dbus-activation 事件,指定已启动的 D-Bus 服务。您现在可以创建其他作业start on user-login

依赖于另一个服务

start on (started networking and user-login)

通过将这三项内容组合到一个 upstart 作业中,您可以在用户登录且网络启动时启动 Firefox(尽管您可能希望指定哪个接口已启动)

相关内容