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 http://projects.kde.org/projects/extragear/network/wicd-kde.

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

Package Information

Wicd Dependencies


Python-2.7.15, D-Bus Python-1.2.8, Wireless Tools-29, and Net-tools-CVS_20101030 (Wicd needs 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 "/detection failed/ a\                self.init='init/default/wicd'" \
    -i.orig 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:

python setup.py install

Command Explanations

sed ... -i.orig setup.py: Fix and issue while building with BLFS.

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 service files twice. They are installed as a part of the sed to setup.py.

--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).

Configuring Wicd

Config Files

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

Configuration Information



Make sure that you disable the systemd-networkd service or configure it not to manage the interfaces you want to manage with Wicd.

To enable wicd at boot time, as the root user, run:

systemctl enable wicd

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 (not functional if Urwid is not installed), and wicd-gtk
Installed Libraries: None
Installed Directories: /{etc,usr/share,var/lib,var/log,var/run}/wicd, /usr/lib/python2.7/site-packages/wicd and /usr/share/doc/wicd-1.7.4

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 2018-08-25 21:43:33 -0700