如何配置 Mythbuntu 11.10 以等待 DCHP 租约然后再完成启动并启动相关网络的应用程序?

如何配置 Mythbuntu 11.10 以等待 DCHP 租约然后再完成启动并启动相关网络的应用程序?

我全新安装了 Mythbuntu 11.10,仅用作前端。它使用 eth0 联网,并且在同一子网上有一个路由器用作 DHCP 服务器。

前端启动并自动登录并运行Myth前端。

然而,大约每 4 次启动中有 3 次,在 myth 启动之前,盒子还没有通过 DHCP 获取 IP 地址。这导致 Myth 进入配置模式。如果我取消,则 Myth 正常启动,因为已收到 DHCP 响应。

如何更改启动方式以等待 DHCP 响应后再登录?

答案1

为您提供三种选择,从手动但简单到手动且需要博士学位(按此顺序)。

1.不要使用 DHCP。

在路由器中分配一个静态 IP(这样它就不会将该 IP 提供给其他设备),然后配置 Ubuntu 以使用该静态地址。您可以使用网络管理器(如果您正在使用它)或通过/etc/network/interfaces类似以下方式进行编辑来执行此操作:

auto eth0
iface eth0 inet static
        address 192.168.0.4
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

2. 让某些东西静坐并等待您的网络启动并获取 IP

我说的是编写一个脚本来检查你的网卡是否启动。为了简单起见,你可以将启动 XBMC 的任何内容与以下检查结合起来(从论坛偷来的):

#!/bin/bash

until wget -q -O - http://www.google.com | grep Lucky > /dev/null; do
    sleep 10
done

xbmc

并调用该脚本而不是xmbc直接调用。

3. 玩转 Upstart 并破坏它以实现您的意愿。

Upstart 负责管理所有系统事务,并管理什么时候事情会根据每个作业发出的事件运行。这似乎是您最满意的路线,因为您可能能够让它在分配 DHCP 地址时准确发出信号。

问题是你必须真正深入研究启动过程才能做出改变。我对此了解不够多,无法提供合理的帮助。

答案2

谢谢 Oli,我选择了你的选项 3,如果其他人感兴趣的话我会在这里描述一下:

  1. 卸载 xmbc 中的网络管理器(不确定这是否必要,但我不需要它):

    # apt-get remove network-manager
    
  2. 通过添加以下内容配置 /etc/network/interfaces:

    auto eth0
    iface eth0 inet dhcp
    
  3. 除了现有的触发条件外,通过更改启动触发器,告诉 lightdm 仅当出现除环回接口之外的接口时才启动/etc/init/lightdm.conf

    start on ((filesystem
       and runlevel [!06]
       and started dbus
       and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
            or stopped udev-fallback-graphics)
       and net-device-up IFACE!=lo) 
      or runlevel PREVLEVEL=S)
    

我添加了条件net-device-up IFACE!=lo

到目前为止,一切似乎运行良好。

相关内容