NetworkManager commandline tools
Control NetworkManager without a GUI
- Name: Dan Williams, Jirka Klimes
- Email: email@example.com, firstname.lastname@example.org
- Targeted release: Fedora 13
- Last updated: 2009-12-09
- Percentage of completion: 0%
The current plan for this feature is that implementation will being during September, thus it will be too late for an advertised feature of F12.
There is no reason that NetworkManager can not be controllable via commandline tools. This will be very useful to interact with NetworkManager from initscripts, and on servers. To make the commandline tools usable in these situations they should be lightweight and have a small footprint. Therefore, tools written in C will be preferable over Python scripts.
There are two use cases:
- Server: In this case, the tool should talk directly to NetworkManager and control only system-wide connections. Basic functionality to cover: ifup/ifdown, list connections, find out details about connections (connection type, speed, uptime, etc)
- Session: For this case, we might want the tool to talk to nm-applet to find user connections. It can still talk directly to NetworkManager for manipulating these connections. This may then cause the applet to pop up keyring dialogs when secrets are needed. Giving the tool direct access to user configuration data in gconf and secrets in gnome-keyring will be much more complicated and is probably out of scope for the first version.
Benefit to Fedora
NetworkManager becomes more suitable on servers, bringing Fedora closer to a consolidated network configuration. Power users will have one less reason to complain about the 'dumbing down' of Linux...
NetworkManager and nm-applet already provide comprehensive dbus apis. The remaining task is simply to write a tool that offers commandline access to this API in a way that makes sense. An important side-effect of this should be to produce documentation for the NetworkManager apis.
How To Test
Use TOOLNAME to control various aspects of NetworkManager functionality. List connections, find out detailed information about connections, bring connections up and down.
This section needs to be fleshed out further in parallel to writing the TOOLNAME(1) man page.
Fall back on the existing cnetwork-manager package for commandline control of NetworkManager.
Fedora 12 introduces TOOLNAME, which is a tool that allows to control NetworkManager from the commandline. See the TOOLNAME(1) man page for more information.