Вопрос Как настроить Mythbuntu 11.10 для ожидания аренды DCHP до завершения загрузки и запуска приложений, зависящих от сети?


У меня есть чистая установка Mythbuntu 11.10, действующая только как интерфейс. Он подключен к сети с использованием eth0, и у меня есть маршрутизатор, действующий как DHCP-сервер в той же подсети.

Интерфейс загружается и автоматически входит в систему и запускает Myth frontend.

Как бы ни были подсчитаны каждые 3 из 4 ботинок, ящик до сих пор не получил IP-адрес через DHCP до начала мифа. Это приводит к тому, что Myth переходит в режим конфигурации. Если я отменил, Миф начнет нормально, так как получен ответ DHCP.

Как изменить загрузку, чтобы дождаться ответа DHCP перед входом в систему?


1
2017-10-19 00:06


происхождения




ответы:


Три варианта для вас: от ручной, но простой до ручной и необходимой докторантуры (в этой прогрессии).

1. Не используйте DHCP.

Выделите статический IP-адрес в своем маршрутизаторе (чтобы он не передавал этот IP-адрес другому устройству), а затем настройте Ubuntu на использование этого статического адреса. Вы можете сделать это либо с помощью Network Manager (если вы используете это), либо путем редактирования /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-адрес.

Проблема в том, что вам придется действительно вникнуть в процесс загрузки, чтобы изменить ситуацию. Я не знаю достаточно об этом, чтобы разумно помочь.


3
2017-10-19 02:45



Спасибо за ваши указатели; Я несколько раз исследовал выскочку. Я поставил свое решение в свой ответ ниже - Andy Hitchman


Спасибо Оли, я пошел с вашим вариантом 3, который я опишу здесь, если кто-то еще интересуется:

  1. Удалите диспетчер сети в xmbc (не уверен, что это важно, но мне оно не нужно):

    # apt-get remove network-manager
    
  2. Настройте / etc / network / interfaces, добавив:

    auto eth0
    iface eth0 inet dhcp
    
  3. Скажите, что lightdm запускается только тогда, когда появляется интерфейс, отличный от loopback, в дополнение к существующим условиям триггера, изменяя триггер запуска в /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,

Пока это работает хорошо.


1
2017-10-19 08:35



Это было не так ужасно, как я боялся. Поздравляю. - Oli♦