Wicd

From Chakra | Wiki
Jump to: navigation, search
Wicd-purple.pngWicd
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. Wicd can also run from the terminal in a curses interface, requiring no X server session or task panel to be used efficently (see running wicd).

Installation

Wicd you can install the standard repositories:

# pacman -S wicd

A KDE-UI will be installed with this command:

# pacman -S wicd-client-kde

This will install Wicd and all the necessary dependencies, including dbus and python.

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 services:

# systemctl stop netcfg
# systemctl stop dhcpcd
# systemctl stop NetworkManager

Start the wicd service:

# systemctl start wicd

Enable the service at system start up:

# systemctl enable wicd.service

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.

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

Running Wicd

To load Wicd, run:

$ wicd-client-kde

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

You can also run wicd as a curses application from the terminal so it won't need the X server, like so:

$ wicd-curses
Note: Wicd doesn't 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.

Setup wicd-client-kde

Start wicd-client-kde with:

# wicd-client-kde

You will see this window:

Wicd-client-kde-main.png

Click on preferences to setup wicd:

Wicd-client-kde-settings1.png

Here you can setup your general settings like network adapters you want to use and if wicd should reconnect after network connection lost. Next tab brings you to the dhcp settings:

Wicd-client-kde-settings2.png

You can keep the defaults. Next will be the advanced settings where you can select wireless driver and backend:

Wicd-client-kde-settings3.png

Trouble-shooting

Failed to get IP address

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

# pacman -S dhclient

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

Dbus connection error message

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

exec ck-launch-session [your environment here]

As an example, to launch KDE you can use:

exec ck-launch-session startkde

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 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-kde 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 wicd client doesn't load after a package update due to dbus errors or the Preferences buttons are not working. A solution is to remove the config files in the /etc/wicd/ directory.

# systemctl stop wicd
# rm /etc/wicd/*.conf
# systemctl start wicd

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
-----
ctrl_interface=/var/run/wpa_supplicant
network={
       ssid="$_ESSID"
       scan_ssid=$_SCAN

       key_mgmt=WPA-EAP
       eap=TTLS

       ca_cert="$_CA_CERT"
       subject_match="$_CERT_SUBJECT"
 
       phase2="auth=MSCHAPv2 auth=PAP"

       anonymous_identity="$_ANON_IDENTITY"
       identity="$_IDENTITY"
       password="$_PASSWORD"
}

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.

External links