Wicd

Aus wiki.archlinux.de

Wicd ist ein Netzwerkverbindungsmanager, mit dem man sowohl kabelgebundene als auch kabellose Verbindungen verwalten kann. Es stellt eine Alternative zum Networkmanager dar. Wicd wurde in Python und GTK+ geschrieben und benötigt weniger Abhängigkeiten als andere Manager.

Installation

Wicd ist in den Paketquellen verfügbar, und kann über Pacman installiert werden.

pacman -S wicd

Wenn man bessere Icons verwenden möchte, muss man diese ebenfalls noch installieren.

pacman -S hicolor-icon-theme

Zudem besteht die Möglichkeit wicd aus dem AUR als SVN-Version zu installieren.

Setup

Wicd stellt einen Daemon bereit, der gestartet werden muss bevor man mittels wicd das Netzwerk verwalten kann. Wenn man mehrere Netzwerkverbindungsmanager verwendet, wird dies Probleme verursachen, deshalb ist es wichtig alle anderen Daemons dieser Art abzuschalten.

/etc/rc.d/network stop
/etc/rc.d/dhcdbd stop
/etc/rc.d/networkmanager stop
/etc/rc.d/net-profiles stop

In der rc.conf müssen im Netzwerk-Abschnitt alle Interfaces deaktiviert werden, die von wicd verwaltet werden sollen.

INTERFACES=(!eth0 !wlan0)

In diesem Fall sollen eth0 und wlan0 von wicd verwaltet werden, und werden daher deaktiviert.

Es müssen in dieser Datei auch alle Netzwerverwaltungs-Daemons aus dem DAEMONS-Array deaktiviert werden. Dies schließt network, dhcdbd und networkmanager ein. Eingetragen werden müssen hier jetzt noch dbus (falls nicht schon vorhanden) und wicd. Das DAEMONS array sollte nun in etwa so aussehen:

DAEMONS=(syslog-ng dbus !network !dhcdbd !networkmanager !net-profiles wicd …)

Wenn man HAL benutzt, sollte man dbus durch hal ersetzen, da der HAL-Daemon DBUS automatisch mitstartet.

Der Benutzer, der wicd verwenden soll, muss der Gruppe network hinzugefügt werden.

gpasswd -a USERNAME network

Danach werden der HAL oder der DBUS-Daemon und WICD gestartet

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

wicd starten

Wicd ist ein Client-Server-System. Mittels des wicd-Clients greift man auf den wicd-Server in form des wicd-Daeomns zu. Allerdings ist der Betrieb des wicd-Clients keine Voraussetzung für die Funktionsfähigkeit des wicd-Daemons.

Für den Wicd-Clienten gibt es eine GTK und eine auf Ncurses basierende GUI, die für die Nutzung auf der Konsole geeignet ist. Die entsprechenden Befehle zum starten der (gtk) GUI sollten in die Autostart-Dateien der verwendeten Desktopumgebung / Fenstermanger oder in die "~/.xinitrc" eingetragen werden.

GTK

Ab version 1.7 ist "wicd-gtk" die bevorzugte Methode die GTK-GUI zu starten. Wicd-gtk wird niemals versuchen "wicd-curses" zu starten. Das bisher verwendete "wicd-client" versucht hingegen wicd-curses zu starten, falls keine X-Session vorhanden ist.

wicd-gtk

Wicd-gtk kann auch ohne Tray-Icon gestartet werden.

wicd-gtk -n

Ncurses

wicd-curses

Scripte

Wicd kann automatisch (Bash)-Scripte ausführen:

  1. bevor eine Verbindung aufgebaut wird (preconnet)
  2. nachdem eine Verbindung aufgebaut wurde (postconnect)
  3. nachdem eine Verbindung getrennt wurde (disconnect)

Es gibt die Möglichkeit Scripte auf alle Verbindungen anzuwenden und/oder nur auf bestimmte.


Alle Verbindungen
Scripte die immer ausgeführt werden sollen, egal mit welchem Neztwerk Wicd eine Verbindung aufbaut/trennt, werden in folgenden Verzeichnissen abgespeichert.

/etc/wicd/scripts/preconnect
/etc/wicd/scripts/postconnect
/etc/wicd/scripts/disconnect


Nur bestimmte Verbindungen
Scripte die einem bestimmten Netzwerk zugeordnet werden sollen, müssen in die entsprechenden Konfigurations-Dateien eingetragen werden. Die Datei für die kabelgebunden Netzwerkprofile ist /etc/wicd/wired-settings.conf, die für die Funknetzwerke /etc/wicd/wireless-settings.conf. Die entsprechenden Einträge lauten:

beforescript = /pfad/zum/script
afterscript = /pfad/zum/script
disconnectscript = /pfad/zum/script

In der GTK-Oberfläche (wicd-client) können die Scripte den Netzwerken über Eigenschaften --> Scripte zugeordnet werden. Dafür wird allerdings sudo inklusive einer grafischen Oberfläche benötigt. Zum Beispiel gksu oder kdesu. Und die Datei /usr/lib/wicd/configscript.py muss in die /etc/sudoers eingetragen werden.

Weblinks