NOTE: this page is for archival only, see the note at the end of the page.

Network Manager

In summary Network Manager is a connection manager and right now supports working with Ethernet/PPP/Wireless.

Network Manager attempts to make networking invisible. When moving into areas you've been before, Network Manager automatically connects to the last network the user chose to connect to. Likewise, when back at the desk, Network Manager will switch to the faster, more reliable wired network connection.

Latest release

It is recommended distributions use Network Manager 0.7 from subversion.

Mailing list

Network Manager has its own mailing list.

wpa_supplicant usage

In order to associate to a wireless network and scan NM uses wpa_supplicant as its back-end.

Debugging Network Manager

If you have issues with Network Manager we recommend you start Network Manager with debugging options.

Hacking on Network Manager

This section describe how to get the code and design goals you should keep in mind.

Getting the code

In order to build NetworkManager you need the GNOME script, found in the 'gnome-common' SVN module. Grab that and install it, if you don't have it already:

svn co svn:// gnome-common
cd gnome-common
./ --prefix=/usr
cd macros2
sudo make install

Next, grab NetworkManager from SVN HEAD. To checkout and build from SVN HEAD:

svn co svn:// NetworkManager
cd NetworkManager
./ --prefix=/usr --sysconfdir=/etc --localstatedir=/var
sudo make install

And if you want to play with the applet, you need network-manager-applet, too:

svn co svn:// network-manager-applet
cd NetworkManager
./ --prefix=/usr --sysconfdir=/etc --localstatedir=/var
sudo make install

Design goals

  • Simplicity: operation should be simple. Users should not have to set up networks, properties, or profiles beforehand. Users should not be presented with complex, unnecessary dialogs that require them to enter details about anything more complicated than a WEP key. Also, we decided that profiles aren't very user-friendly, and therefore we actively try to avoid profiles.

Example: there aren't any profile wizards, or anything resembling profiles. This is by design.

  • Visual Clarity: user interface elements of NetworkManager (for example, the panel applet) should be simply laid out and should not show any settings other than those an average user would need on a daily basis. If the user isn't going to click on it at least every other day, it shouldn't be immediately visible in the menu. They only add to clutter and confuse the average user.

Example: infrequently used settings and options are not shown in the NetworkManager panel applet.

  • Automation: operation should be as automatic as possible. By default, everything should "Just Work" with as little interaction as possible. Everything that can be done automatically or detected automatically, should be. NetworkManager should not be doing things users don't expect.

Example: connecting to the last-used wireless network that's available when NetworkManager starts up.

This is a static dump of the wiki, taken after locking it in January 2015. The new wiki is at
versions of this page: last, v8, v7, v6, v5, v4, v3, v2, v1