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

13627
JCCyC

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

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

8

6 ответов на вопрос

5
Ryan Thompson

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

По состоянию на май 2011 г. эта ссылка гласит: В версии 0.7.1 или более поздней версии отредактируйте профиль подключения, которое вы хотите установить до входа в систему, и установите флажок в левом нижнем углу «Доступно для всех пользователей». Joe 13 лет назад 0
Кроме того, он не работает для меня на odroid с установленным образом Ubuntu 14.04. Andrew Wagner 9 лет назад 0
Этот ответ (и связанная с ним документация) устарел, по крайней мере, в Ubuntu 14.04. Устаревшая информация в этом FAQ, конечно, не была удалена. Andrew Wagner 9 лет назад 0
3
Babu

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

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

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

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

Я на машине с Windows на работе; Я проверю это, когда вернусь домой. Было бы хорошо, если бы NetworkManager и nm-applet находились в разных пакетах. JCCyC 15 лет назад 0
Я думаю, что иметь их в одном пакете на самом деле необходимо; Какой смысл предоставлять нам услугу, если вы не предоставляете нам метод управления ею? Я бы поспорил в противоположном направлении; cNetworkManager также должен быть в пакете NetworkManager, когда вам нужно управлять беспроводной картой, когда X не запускается (это случалось со мной очень много раз) Babu 15 лет назад 0
Я не уверен, существует ли этот cNetworkManager по состоянию на 2015 год. Существует инструмент «nmcli», который, я считаю, установлен по умолчанию и позволяет вам работать с сетевым менеджером из Cli. Andrew Wagner 9 лет назад 0
2
Grzenio

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

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

1
john w

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

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

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

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

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

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

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

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

0
Kirill V. Lyadvinsky

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

Это хорошее решение, но есть и предостережения с этим. NetworkManager и сетевые службы не должны запускаться одновременно; они оба будут пытаться контролировать беспроводное оборудование одновременно и делать странные вещи. Что вы можете сделать, так это включить сетевую службу по умолчанию и включить networkamanager только тогда, когда это необходимо. Babu 15 лет назад 0
Это правда. Kirill V. Lyadvinsky 15 лет назад 0
0
Andrew Wagner

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

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

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

sudo crontab -e

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

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

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

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

Похожие вопросы