Difference between revisions of "Wicd"

From ArchWiki
Jump to: navigation, search
(Initial Setup: added command to start wicd...seems to have been forgotten!)
(Initial Setup: added command to start wicd...seems to have been forgotten!)
Line 88: Line 88:
  # /etc/rc.d/hal start
  # /etc/rc.d/hal start
and finally
  # /etc/rc.d/wicd start
  # /etc/rc.d/wicd start

Revision as of 01:18, 27 April 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Template:Article summary start

Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary end

Wicd is a network connection manager that can manage wireless and wired interfaces, similar and an alternative to NetworkManager. Wicd is written in Python and GTK+, requiring fewer dependencies than other network managers. Alternatively, a version of Wicd for KDE, written in Qt, is available from the Arch User Repository. Wicd can also run from the terminal in a curses interface, requiring no X server session or task panel (see running wicd).


Wicd is available from the standard repositories:

# pacman -S wicd

This will install Wicd (CLI, ncurses client and daemon) and all the necessary dependencies.

If you are not using gnome (or its notification-daemon), you might want to install xfce4-notifyd from extra before you install wicd-gtk or you will most likely end up with the standard notification-daemon pulling a lot of unnecessary packages.

# pacman -S xfce4-notifyd

To install the GTK client and systray icon:

# pacman -S wicd-gtk
Note: this is just the GTK front-end, not necessary if you are planning to use wicd from the Command-line interface(CLI).

To install the KDE client, the wicd-client-kde package from the Arch User Repository is required.

Note: this is just the KDE front-end, and will install wicd as dependency.

Note: Since 20-3-2011 the "wicd" package from standard repositories was split:

wicd: Includes everything needed to run the wicd daemon and the wicd-cli and wicd-curses interfaces.

wicd-gtk: Includes everything needed to run the GTK interface of wicd and the autostart file for the client to appear in the systray.


The wicd-bzr buildscript is available from AUR, which should build the latest development branch.

If you need an alternative version or you just want to roll your own package, you can easily build it using ABS.

Getting Started

Initial Setup

Wicd provides a daemon that must be started.

Warning: Running multiple network managers will cause problems, so it is important to disable all other network management daemons.

First, stop all previously running network daemons:

# /etc/rc.d/network stop
# /etc/rc.d/dhcpcd stop
# /etc/rc.d/networkmanager stop

Now, edit /etc/rc.conf as root:

# nano /etc/rc.conf

Disable (!) any devices in the INTERFACES array that you wish to manage with Wicd. For example:

INTERFACES=(!eth0 !wlan0)

Disable (!) any existing network management daemons in the DAEMONS array, including network, dhcdbd, and networkmanager.

Now, add dbus (if not already present) and wicd to the DAEMONS array, in that order. The DAEMONS array should now look something like this:

DAEMONS=(syslog-ng dbus !network !dhcdbd !networkmanager wicd ...)
Note: If you use hal, confirm that dbus precedes hal in the DAEMONS array.

Save and close.

Add your account to network group:

# gpasswd -a USERNAME network
Note: The Unix group that dbus allows to access wicd is subject to change, and may be different than network. Check which policy group is specified in /etc/dbus-1/system.d/wicd.conf, and add your user to that group.

Reboot your computer or start the daemons:

# /etc/rc.d/dbus start 


# /etc/rc.d/hal start

and finally

# /etc/rc.d/wicd start

If you added your user to a new group, logout and then login.

Running Wicd

To load Wicd, run:

$ wicd-client

Or if your desktop environment does not have a notification area, run:

$ wicd-client -n
Note: This only works if you have installed wicd-gtk. If you did not install wicd-gtk then use wicd-cli or wicd-curses

You can add wicd-client to your DE/WM startup to have the application start when you log in.

Note: Some users have had an issue with two wicd-client processes when using this method. There has been discussion about this in the Arch forums and Arch bug reports (see Wicd#External_links). It appears that the wicd package puts a file in /etc/xdg/autostart/wicd-tray.desktop, which will autostart wicd-client upon login to your DE/WM. If this is the case, you will have two wicd-clients running if you add an additional wicd-client to your DE/WM startup file. Should that occur, confirm that the wicd-tray.desktop file exists in /etc/xdg/autostart; if so, having wicd in the daemons list of /etc/rc.conf is sufficient.

You can also run wicd as a curses application from the terminal like so:

$ wicd-curses
Note: Wicd does not prompt you for a passkey. To use encrypted connections (WPA/WEP), expand the network you want to connect to, click Advanced and enter the needed info.


Failed to get IP address

If wicd repeatedly fails to get an IP address using the default dhcpcd client, try installing and using dhclient instead:

# pacman -S dhclient

Don't forget to select dhclient as the primary dhcp client in wicd options afterwards!

Importing pynotify failed, notifications disabled

In case the package did not get installed automatically -- the package's name is "python-notify":

# pacman -S python-notify

Dbus connection error message

Make sure to use the following command for your .xinitrc:

exec ck-launch-session [your environment here]

As an example, mine reads:

exec ck-launch-session openbox-session

Otherwise you will get dbus error messages and not be able to connect to networks.

  • NOTE: If wicd suddenly stopped working and it complains about dbus, it is quite likely that you just need to remove wicd fully, including and all its configuration files, and re-install it from scratch:
pacman -R wicd
rm -rf /etc/wicd /var/log/wicd /etc/dbus-1/system.d/wicd*
pacman -S wicd

Check this link for more details: http://bbs.archlinux.org/viewtopic.php?pid=577141#p577141

Wicd-client also throws a dbus connection error message ("Could not connect to wicd's D-Bus interface.") when wicd is not running due to a problem with a config file. It seems that sometimes an empty account gets added to /etc/wicd/wired-settings.conf in which case you simply have to remove the


and restart wicd.

Problems after package update

Sometimes the wicd client fails to load after a package update due to dbus errors.

A solution is to remove the config files in the /etc/wicd/ directory.

sudo /etc/rc.d/wicd stop
sudo rm /etc/wicd/*.conf
sudo /etc/rc.d/wicd start

Note about graphical sudo programs

If you are receiving an error about wicd failing to find a graphical sudo program, run one of the following commands:

$ ktsuss wicd-client -n
$ gksudo wicd-client -n
$ kdesu wicd-client -n

These programs require the ktsuss (found in the AUR), gksu, and kdesu packages, respectively.

Making eduroam work with wicd

This profile will only work for eduroam institutions which use TTLS and will not work for PEAP.

Save the following as /etc/wicd/encryption/templates/ttls-80211

name = TTLS for Wireless
author = Alexander Clouter
version = 1
require anon_identity *Anonymous_Username identity *Identity password *Password 
optional ca_cert *Path_to_CA_Cert cert_subject *Certificate_Subject


       phase2="auth=MSCHAPv2 auth=PAP"


Open a terminal

cd /etc/wicd/encryption/templates
echo ttls-80211 >> active

Open wicd, choose TTLS for Wireless in the properties of eduroam, and enter the appropriate settings for your institution. The format of the subject match should be something like "/CN=server.example.com".

NB. This only works in my institution by commenting subject_match, which is not secure, but at least it connects.

Problem changing from wicd to another network manager

When I tried to switch back to the knetworkmanager, without uninstalling wicd, I edited /etc/rc.conf and put a '!' in front of wicd, removed it from networkmanager, rebooted and obviously wicd did not load. When I started KDE though I got a message saying that wicd-client could not start normally because wicd was not running. Wicd-client should not have started as it is not in autostart. The trick stop it from loading is to go to /etc/xdg/autostart and do:

$ sudo nano wicd-tray.desktop

and make it hidden on startup, or if you are not planning to autostart wicd-client again just remove the file.

Two instances of wicd-client (and possibly two icons in tray)

See the note in Wicd#Running_Wicd about the autostart file in /etc/xdg/autostart and the forum post and bug report provided in Wicd#External_Links. Essentially, if /etc/xdg/autostart/wicd-tray.desktop exists, you only need wicd in /etc/rc.conf daemons and should remove it from your DE/WM autostart file.

External links