Как заставить NetworkManager установить соединение перед входом в систему?


8

Я оставляю свой ноутбук дома 95% времени. Я хотел бы, чтобы он подключался к моей беспроводной сети без необходимости входа в систему. И, что не менее важно, я бы не хотел отключаться при выходе из системы.

Я использую Fedora, но инструкции Ubuntu тоже приветствуются.

Ответы:


5

Я думаю, этот вопрос был задан некоторое время назад, но эта функция была добавлена ​​в последние версии Network Manager. Смотрите здесь .


По состоянию на май 2011 г. эта ссылка гласит: В версии 0.7.1 или более поздней версии отредактируйте профиль подключения, которое вы хотите установить до входа в систему, и установите флажок в левом нижнем углу «Доступно для всех пользователей»
Джо,

Кроме того, он не работает для меня на odroid с установленным образом Ubuntu 14.04.
Эндрю Вагнер

Этот ответ (и связанная с ним документация) устарел, по крайней мере, в Ubuntu 14.04. Устаревшая информация в этом FAQ, конечно, не была удалена.
Эндрю Вагнер

3

Проблема этой идеи заключается в том, что служба NetworkManager берет свои команды из nm-applet (или аналога KDE, если вы находитесь в KDE. Чтобы не запутаться, я предполагаю, что вы находитесь в GNOME). В репозиториях есть интерфейс командной строки NetworkManager, называемый cNetworkManager (как это ни странно, написанный на Python). Вы можете попытаться вставить команду для подключения к вашей сети с помощью cNetworkManager в сценарии запуска (я не совсем уверен, куда вам нужно поместить этот сценарий, но я знаю, что это возможно: D). Я не знаю, будет ли этот подход подключаться или он останется подключенным после выхода из системы, но я знаю, что есть как минимум 2 проблемы, которые вам нужно будет решить.

1) У вас будет этот скрипт, сражающийся с nm-applet. Если вы хотите это сделать, я бы отключил автоматический запуск nm-апплета (который должен быть настроен в настройках -> сеансы или настройки -> запуск программ, в зависимости от того, используете ли вы fedora 11).

2) если вы когда-нибудь захотите сменить сеть (и будете делать причудливые вещи, такие как автоматическое их обнаружение), вам придется либо сделать это с помощью cNetworkManager (что очень сложно), либо запустить nm-applet и потерять способность сохранять соединение открывается после выхода из системы.

Желаем удачи, и дайте нам знать, если это работает!


Я на машине с Windows на работе; Я проверю это, когда вернусь домой. Было бы хорошо, если бы NetworkManager и nm-applet находились в разных пакетах.
JCCyC

Я думаю, что иметь их в одном пакете на самом деле необходимо; Какой смысл предоставлять нам услугу, если вы не предоставляете нам метод управления ею? Я бы поспорил в противоположном направлении; cNetworkManager также должен быть в пакете NetworkManager, когда вам нужно управлять беспроводной картой, когда X не запускается (это случалось со мной очень много раз)
Бабу

Я не уверен, существует ли этот cNetworkManager по состоянию на 2015 год. Существует инструмент «nmcli», который, я считаю, установлен по умолчанию и позволяет вам работать с сетевым менеджером из Cli.
Эндрю Вагнер

2

У меня была та же проблема, и я закончил тем, что полностью удалил NetworkManager и вместо этого напрямую использовал wpa_supplicant. Он работает противоположным образом - у вас есть файл конфигурации со всеми сетями, к которым вы хотите автоматически подключаться, и графический интерфейс, который может либо переопределить его во время выполнения (и подключиться к другой сети), либо изменить файл конфигурации ,

Я использовал это руководство для настройки своего Debian, и у меня не было много проблем с ним (так же, как в Ubuntu): http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/branches/unstable/ Debian / README.Debian? оп = файл и числа оборотов = 0 & СБН = 0


1

Я использовал метод Эндрю Вагнера в Fedora 22 для соединения с безопасностью WPA.

  1. Создайте подключение «демо», как обычно, используя графический интерфейс.

  2. В качестве пользователя root создайте файл / etc / NetworkManager / wifipw с одной строкой:

    802-11-wireless-security.psk:wpa-pw 
    

где wpa-pwпароль wifi

  1. Добавьте следующую строку в crontabкорень для:

    @reboot sleep 10; /usr/bin/nmcli conn up id demo passwd-file etc/NetworkManager/wifipw
    

Спящий режим 10 был необходим в моей системе, чтобы дать устройству время для инициализации перед попыткой подключения.


0

Может быть, это не вариант для вас, но вы можете настроить сеть с помощью файлов конфигурации, как в учебнике . Это для Ubuntu, но я не заметил разницу. Сеть будет включена во время загрузки ОС.


Это хорошее решение, но есть и предостережения с этим. NetworkManager и сетевые службы не должны запускаться одновременно; они оба будут пытаться контролировать беспроводное оборудование одновременно и делать странные вещи. Что вы можете сделать, так это включить сетевую службу по умолчанию и включить networkamanager только тогда, когда это необходимо.
Бабу


0

Вот что я сделал (на плате для одроидов под управлением Ubuntu 14.04):

Настройте сетевое соединение, используя, например, nm-applet, в качестве обычного пользователя, дайте ему имя, т.е. «Decktop Demo». Возможно, вам необходимо установить флажок Общие -> «Все пользователи могут подключаться к этой сети».

Отредактируйте "cron" как суперпользователя:

sudo crontab -e

выберите нужный редактор, если будет предложено, и добавьте строку внизу:

@startup / usr / bin / nmcli conn up id "Демонстрация рабочего стола"

Пожертвуйте маленькое животное богам сетевого управления и перезагрузите компьютер.

Этот метод имеет преимущество, заключающееся в том, что все выполняется через сетевой менеджер, поэтому он должен хорошо воспроизводить апплеты управления сетью графического интерфейса для различных рабочих столов, то есть nm-applet.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.