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.
It is recommended distributions use Network Manager 0.7 from subversion.
Network Manager has its own mailing list.
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 gnome-autogen.sh script, found in the 'gnome-common' SVN module. Grab that and install it, if you don't have it already:
svn co svn://svn.gnome.org/svn/gnome-common/trunk gnome-common cd gnome-common ./autogen.sh --prefix=/usr cd macros2 make sudo make install
Next, grab NetworkManager from SVN HEAD. To checkout and build from SVN HEAD:
svn co svn://svn.gnome.org/svn/NetworkManager/trunk NetworkManager cd NetworkManager ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var make sudo make install
And if you want to play with the applet, you need network-manager-applet, too:
svn co svn://svn.gnome.org/svn/network-manager-applet/trunk network-manager-applet cd NetworkManager ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var make sudo make install
- 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.