Wicd

From ArchWiki
Revision as of 19:36, 28 December 2007 by Schivmeister (talk | contribs) (Related links)
Jump to: navigation, search


Introduction

Wicd is a network connection manager that can handle wireless and wired interfaces. It is written in Python and GTK+. It is now a part of the extra repository for both i686 and x86_64.

Installation

You must have [extra] (and/or [testing] depending on which version you want) enabled in /etc/pacman.conf, do so if you have not.

# nano /etc/pacman.conf

It should look something like the following:

[extra]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/extra

Now get the package, it will pull in python- and gtk-related dependencies if you do not already have them.

# pacman -Sy wicd

You most likely also want DHCP and secure wireless management.

# pacman -S dhclient wpa_supplicant

If you want a more recent version because it works better for you, then edit $pkgver in the PKGBUILD. You may also want to edit $pkgrel (change it to 1) and $md5sums.

# abs
$ cd /var/abs/local
$ cp -r ../extra/network/wicd .
$ nano PKGBUILD

Then run

$ makepkg

and if that went well, add it.

# pacman -U *pkg.tar.gz

Daemons

Since this is a front-end to basic GNU/Linux networking scripts, you do not need the network daemon. You do not want networkmanager to interfere either.

# /etc/rc.d/network stop
# /etc/rc.d/dhcdbd stop # this stops networkmanager

You may disable/remove them permanently, along with the interfaces which you should have specified via Wicd's preferences, in rc.conf:

INTERFACES=(!eth0 !wlan0) # lo is no longer needed here as it is configured in /etc/rc.sysinit
...
DAEMONS=(syslog-ng @alsa !network dbus !dhcdbd !networkmanager wicd netfs ...)

As you can see, however, Wicd does need the dbus daemon to work. Take note that it is automatically started by hal. Now make sure there are no problems; you need the wicd daemon to be running before you can start the application.

# /etc/rc.d/dbus start
# /etc/rc.d/wicd start

Starting

To have the GUI, run:

$ /usr/lib/wicd/gui.py

To have a tray icon, run:

$ /usr/lib/wicd/tray.py

You can add /usr/lib/wicd/tray.py to your DE/WM startup to have the application start when you log in.

Troubleshooting

D-BUS

If you had dbus already running, but for some reason wicd complains about it, restart both.

# /etc/rc.d/dbus stop # we are stopping manually instead of restarting to eliminate possible errors
# /etc/rc.d/wicd stop
# /etc/rc.d/dbus start
# /etc/rc.d/wicd start

GUI

If the GUI does not appear after clicking on the tray, make sure you just click once (single-click). As of now, a double-click does not work; it will simulate opening and closing and thus do nothing.

Tray Icon

If you had Wicd autostart, and you get a white box instead of the icon after a reboot, create a desktop entry instead of symlinking. This apparently occurs in a KDE environment where a desktop file is always a good idea.

First, make sure there are no existing symbolic links/shortcuts.

# for i in `find /{opt,usr/share,home} -type l -print0 | xargs -r0 file | grep wicd/tray*.py | sed -e 's/^\|:.*//g'`; do rm -iv $i; done

That searches for symbolic links to a "wicd" directory containing any rendition of "tray.py" under /opt, /usr/share and /home, then asks whether you want to delete them. You can do this yourself manually.

Now create the desktop file. In KDE, you can place it globally in /opt/kde/share/autostart or locally in ~/.kde/Autostart:

[Desktop Entry]
Encoding=UTF-8
Name=Wicd
Exec=/usr/lib/wicd/tray.py
Icon=
Type=Application
StartupNotify=false

Related links