Wicd

Wicd is a service which manages networking hardware, with both command-line and desktop clients. The service can be started during startup, and will manage connection to saved networks without user intervention or desktop interaction.

This is a tool to speed up connection to networks, not a replacement for iwconfig and wpa_supplicant. Rather, it helps you build configurations for these lower-level tools, and applies them without the need for direct interaction.

Caution
While wicd starts up quickly, it doesn't connect to the internet any faster. Some startup processes will fail if wicd has started but not yet connected to the internet. A common failure is where ntp clients are started before any connection is made and which fail to connect to their servers. Either move these services to later run levels, run them manually (or via cron) or continue to use net.lo.

Installation
To install wicd:

To start wicd:

Setup wicd to automatically start:

Note that wicd will automatically manage dhcpcd and wpa_supplicant so if you previously added them to a runlevel then remove them and make sure they aren't currently running:

Do note that wicd will work fine without disabling net.eth0 at boot.

Optional: Use wicd for wired networking
To stop net.eth0 from starting:

repeat for each network interface.

If gentoo still tries to start eth0 at boot, you need to configure baselayout.

Configuration
wicd-client will automatically call either the GUI or CLI client depending on situation.

GUI Configuration (only with USE="gtk")
The wicd GUI is called wicd-gtk.

There you will see all available wired and wireless connections. The advanced tab allows you to set up the encryption. Once everything is set here, they will be saved for wicd. The nice thing is that wicd will use the settings and connect as soon as wicd starts and doesn't require wicd-client to start.

IMPORTANT: to get wicd to connect to a wireless connection during boot and without user intervention, you must select "Automatically connect to this network when available". Also note that wicd considers each router as a separate connection, but that there are options to save settings for any router with the same SSID.

Command-line configuration
wicd-cli is available for configuration on the command-line, but is not very intuitive.

Manual Configuration
The wicd config files are located in /etc/wicd/ there should be three .conf files /etc/wicd/manager-settings.conf /etc/wicd/wired-settings.conf /etc/wicd/wireless-settings.conf

They each have manpages to help with configuration. e.g. :

Problems
Sometimes the init process will still start up net.eth0 even with it not being enabled. This happens when another init script calls for net.lo as a dependence. It is probably best not to use wicd as the only network connector in these cases. You can edit the init script and change "need net.lo" to "need wicd", but this risks the process failing on boot up, such as netmount, because wicd will complete before a connection has been made.

The simplest way to stop net.eth0 from starting is to simply remove or rename it. Most of the "daemons" depend on "use net" which starts all the net.* daemons. The best solution would be to rename it, as you don't know when you will need it again.

Comparison to NetworkManager
wicd has much less desktop integration than NetworkManager. Many see this as an advantage, but it has some effects; for example KNetworkManager will automatically put firefox into offline mode when it disconnects. Wicd will not. Wicd is also considered more stable by many laptop users.