Introduction to Wicd

Wicd is a network manager written in Python. It simplifies network setup by automatically detecting and connecting to wireless and wired networks. Wicd includes support for WPA authentication and DHCP configuration. It provides Curses- and GTK-based graphical frontends for user-friendly control. An excellent KDE-based frontend is also available here.

This package is known to build and work properly using an LFS-7.7 platform.

Package Information

Wicd Dependencies



Wicd uses ifconfig to activate network connections. ifconfig is provided by both the Inetutils and Net-tools packages. The Inetutils package is part of LFS, but the ifconfig command is not installed by the LFS instructions. If you choose to install the Inetutils version of ifconfig, you need to reinstall the package and configure it without the --disable-ifconfig switch.


Python-2.7.9, D-Bus Python-1.2.0, Wireless Tools-29, and Net-tools-CVS_20101030 (Wicd needs ifconfig and mii-tool from this package)



pm-utils-1.4.1 (for suspend/resume integration), Urwid (for the Curses-based frontend), and Babel (for internationalization)

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/wicd

Installation of Wicd

Install Wicd by running the following commands:

sed -e "/wpath.logrotate\|wpath.systemd/d" \
    -e "/detection failed/ a\                self.init=\'init\/default\/wicd\'" \
    -i setup.py                                     &&
rm po/*.po                                          &&

python setup.py configure --no-install-kde     \
                          --no-install-acpi    \
                          --no-install-pmutils \
                          --no-install-init    \
                          --no-install-gnome-shell-extensions \

This package does not come with a test suite.

Now, as the root user, install the package:

LANG=C python setup.py install

Command Explanations

sed -e ... -i setup.py: The first command in this sed prevents installation of logrotate and systemd configuration files. You may omit it if you use these utilities. The second command in this sed fixes buildng with BLFS “distro”.

rm po/*.po: This command removes the international messages associated with this package. The command is required unless Babel is installed. If it is installed, po/ast.po still needs to be removed in order for the build to complete.

--no-install-kde: Prevent installation of an autostart desktop file for KDE. If you use KDE, you should instead install the Wicd KDE Client.

--no-install-acpi: Prevent installation of suspend and resume scripts for acpid. Omit this option if you use acpid.

--no-install-pmutils: Prevent installation of hooks for pm-utils. Omit this option if you use pm-utils.

--no-install-init: Prevent installation of any init scripts, as a bootscript is installed later in the instructions.

--no-install-gnome-shell-extensions: Prevent installation of the respective extensions. Remove this switch, if you are using Gnome Shell.

--wicdgroup=<group>: The group that will have permission to use the Wicd client (default is the users group).

LANG=C: This envronment variable is needed to allow the installation to complete.

Configuring Wicd

Config Files

/etc/wicd/manager-settings.conf, /etc/wicd/wired-settings.conf and /etc/wicd/wireless-settings.conf

Configuration Information

To automatically start Wicd at boot time, you need to first install the Wicd bootscript, /etc/rc.d/init.d/wicd, included in the blfs-bootscripts-20150304 package (as user root):

make install-wicd

Since Wicd will now handle all configuration of network devices, the network bootscript installed by LFS should be disabled. This can be achieved by either removing any S*network and K*network symlinks in the /etc/rc*.d directories or by setting ONBOOT=no in any /etc/sysconfig/ifconfig.* files.

No manual configuration of Wicd is needed if you use the graphical frontends. If you are only going to use Wicd from command-line, you can configure it using the configuration files in /etc/wicd. For a list of available options, look at the man-pages for: wicd-manager-settings.conf, wicd-wired-settings.conf and wicd-wireless-settings.conf.

Be sure to add all users who are to have rights to open and close network connections with Wicd to the users group (or the group specified with the --wicdgroup configuration option).


Installed Programs: wicd, wicd-cli, wicd-client, wicd-curses, and wicd-gtk
Installed Libraries: none
Installed Directories: /etc/wicd, /usr/lib/python2.7/site-packages/wicd, /usr/share/doc/wicd-1.7.3, /usr/share/pixmaps/wicd, /usr/share/wicd, /var/lib/wicd, /var/log/wicd, and /var/run/wicd

Short Descriptions


is the wicd daemon.


is a command line interface for configuring the wicd daemon.


is the wicd client. This script attempts to automatically choose the relevant configuration interface.


is a curses interface for configuring the wicd daemon.


is a GTK interface for configuring the wicd daemon

Last updated on 2015-03-01 17:45:33 -0800