В Fedora (по крайней мере) предпочтительный способ взаимодействия с NetworkManager - через DBus.
Хотя беспроводные инструменты и т.п. будут работать - даже прямые вызовы ядра, если необходимо, - есть пара проблем:
- Возможно, вам потребуются привилегии суперпользователя
- NetworkManager, вероятно, подвергнется панической атаке и вступит с вами в драку, если вы не прекратите его обслуживание
- Обычные сетевые элементы управления пользователя (например, значки на панели задач на рабочем столе) почти наверняка настроены для использования NetworkManager.
Вы можете отправлять и получать сообщения DBus для всех упомянутых вами задач, для WiFi, а также для любых других типов сетевых интерфейсов. API публикуется здесь, для версии 0.8 .
Для более новых операционных систем, по-видимому, изменения в API, с руководством по миграции .
Их вики должны быть действительно полезными.
Я знаю, что и Fedora, и Ubuntu по умолчанию используют NetworkManager; Я полагаю, что многие другие системы тоже, но не имеют исчерпывающего списка.
Конечно, если вы используете встроенную систему, пользовательский дистрибутив или что-то еще, ваш пробег может отличаться.