Я не хочу, чтобы NetworkManager перечислял или управлял моей беспроводной картой. Могу ли я как-то скрыть его интерфейс от NetworkManager?
Я пытался добавить это в /etc/network/interfaces
,
iface wlan0 inet static
address 192.168.1.101
netmask 255.255.255.0
gateway 192.168.1.1
wireless-essid Synaptotagmin
pre-up wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
post-down killall -q wpa_supplicant
и в /etc/NetworkManager/nm-system-settings.conf
,
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
[keyfile]
unmanaged-devices=/org/freedesktop/Hal/devices/net_00_19_e0_57_86_af
но апплет NetworkManager по-прежнему перечисляет и позволяет мне подключаться к беспроводным сетям.
Согласно Gnome Wiki , синтаксис в /etc/NetworkManager/NetworkManager.conf
(в более старых версиях это было /etc/NetworkManager/nm-system-settings.conf
) отличается от того, что я читал Arch Linux Wiki . Это должно быть:
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
[keyfile]
unmanaged-devices=mac:00:19:e0:57:86:af
Эта конфигурация делает NetworkManager не замечающим существование моей беспроводной карты, но все же позволяет мне контролировать ее, используя другие методы.
Используйте следующее /etc/NetworkManager/nm-system-settings.conf
:
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
Таким образом, ваши интерфейсы из /etc/network/interfaces
не будут управляться Network Manager, т.е. он не будет пытаться что-либо с ними делать.
Независимо от того, какой дистрибутив linux запущен, альтернативный метод может быть использован, чтобы сообщить Network Manager о прекращении управления интерфейсом. Это делается путем добавления следующих строк в файл конфигурации Network Manager /etc/NetworkManager/NetworkManager.conf
:
[main]
plugins=keyfile
[keyfile]
unmanaged-devices=mac:00:11:22:33:44:55;mac:66:77:88:99:00:aa
Список MAC-адресов каждого интерфейса, который Network Manager должен игнорировать, через точку с запятой. Убедитесь, что MAC-адреса, перечисленные здесь, являются LOWER CASE (если там уже есть раздел [main]
с plugins=...
, добавьте в этот список плагин keyfile
)
Чтобы получить MAC-адрес вашего устройства wlan0
use
LANG=c ifconfig wlan0|grep HWaddr
Это покажет mac устройства, что-то вроде
wlan0 Link encap:Ethernet HWaddr ac:51:4f:70:13:72
Перезапустите NetworkManager с помощью
sudo /etc/init.d/network-manager restart
В Ubuntu 14.04 он находится в /etc/NetworkManager/NetworkManager.conf
. Но вам, возможно, придется иметь дело с разрешениями.
Я предполагаю, что вы на Ubuntu Desktop; в этом случае щелкните правой кнопкой мыши на nm-applet (я думаю, что на Natty вы просто нажимаете) и снимите флажок «Включить беспроводную связь». Единственное предостережение в том, что вам придется делать это каждый раз, когда вы входите в систему.
Я думаю, что неправильная строка может быть:
unmanaged-devices=/org/freedesktop/Hal/devices/net_00_19_e0_57_86_af
, так как я не нашел этот формат, указанный в официальной документации.
Допустимые форматы: unmanaged-devices=mac:<hwaddr>
или, в последних версиях Network Manager, unmanaged-devices=interface-name:<ifname>
. Оба они принимаются вместе через точку с запятой, например:
unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth2
Это выдержка из руководства NetworkManager.conf :
неуправляемых устройств
]Установите устройства, которые должны игнорироваться NetworkManager при использовании плагина keyfile. Устройства указываются в следующем формате:
mac: или interface-name :. Здесь hwaddr - это MAC-адрес устройства, которое следует игнорировать, в шестнадцатеричной системе счисления. ifname - это имя интерфейса игнорируемого устройства.
Несколько записей разделяются точкой с запятой. Пробелы в значении не допускаются.
Пример:
unmanaged-devices = имя-интерфейса: em4
unmanaged-devices = mac: 00: 22: 68: 1c: 59: b1; mac: 00: 1E: 65: 30: D1: C4; имя интерфейса: eth2
blockquote>
Просто создайте файл .sh
, содержащий killall -q wpa_supplicant
, и выполните его, используя cron при входе.