A Linux system service that automates network configuration and management to keep an active connection available at all times.
NetworkManager is a system service for Linux that automates the configuration and management of network connections. It ensures an active network connection is always available by handling tasks like IP address assignment, route management, and automatic connection to available networks. The service is designed to make networking 'just work' with minimal user intervention while supporting customization for advanced scenarios.
Linux desktop and server users, system administrators, and developers who need reliable and automated network management on Linux systems. It is particularly valuable for environments with dynamic network conditions, such as laptops moving between networks or systems requiring consistent connectivity.
Developers choose NetworkManager for its deep integration with the Linux ecosystem, robust automation of network tasks, and support for a wide range of network types and protocols. Its D-Bus API allows for extensive programmatic control, and its compatibility with major desktop environments makes it a standard solution for modern Linux distributions.
Read-only Mirror of the freedesktop.org repository. Please make pull requests against freedesktop.org.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
NetworkManager automatically activates connections based on availability and user preferences, ensuring continuous connectivity with minimal user intervention, as described in its goal to make networking 'just work'.
Integrates with external daemons like wpa_supplicant for Wi-Fi, pppd for mobile broadband, and DHCP clients, supporting a wide range of network types and protocols.
Offers multiple clients including nmcli for command-line control, nmtui for TUI, and GUI tools like nm-applet, catering to different user preferences and integration with desktop environments.
Provides a privileged D-Bus interface for fine-grained control, allowing integration with custom applications and services, as highlighted in the README's architecture section.
Uses separate system and user settings services to store connection configurations persistently, enabling consistent network setup across reboots and sessions.
Only supports upstream Linux kernel drivers, which can cause connectivity issues with out-of-tree or buggy drivers, as admitted in the README's troubleshooting section on driver problems.
Relies on multiple external daemons like wpa_supplicant and pppd, complicating setup, troubleshooting, and increasing system complexity compared to monolithic networking solutions.
For systems with static, unchanging network configurations, NetworkManager's automation features add unnecessary complexity and resource usage without significant benefit.
Designed to automatically configure networking as it sees fit, which can override manual settings or scripts, leading to conflicts that require careful management to avoid.