Difference between revisions of "Wicd"
m (→Cause #2: improved language) |
(→Note about graphical sudo programs: kdesu has its own package, gksu is deprecated) |
||
(81 intermediate revisions by 34 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:Network configuration]] | ||
[[de:Wicd]] | [[de:Wicd]] | ||
[[es:Wicd]] | [[es:Wicd]] | ||
[[fr:Wicd]] | [[fr:Wicd]] | ||
[[it:Wicd]] | [[it:Wicd]] | ||
− | [[ | + | [[ja:Wicd]] |
− | [[zh- | + | [[zh-hans:Wicd]] |
− | + | {{Related articles start}} | |
− | + | {{Related|Network configuration}} | |
− | {{ | + | {{Related|Wireless network configuration}} |
− | {{ | + | {{Related|:Category:Network configuration}} |
− | {{ | + | {{Related articles end}} |
− | {{ | ||
− | {{ | ||
− | [ | + | [https://launchpad.net/wicd 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+]]. Wicd can also run from the terminal in a curses interface, requiring no X server session or task panel (see [[#Running Wicd in Text Mode]]). |
− | ==Installation== | + | == Installation == |
− | + | [[Install]] the {{Pkg|wicd}} package, or {{AUR|wicd-git}} for the development version. It includes everything needed to run the wicd daemon and the {{ic|wicd-cli}} and {{ic|wicd-curses}} interfaces. | |
− | [[ | ||
− | + | There is also an official GTK+ front-end, available as {{Pkg|wicd-gtk}}. | |
− | |||
− | === | + | === Notifications === |
− | |||
− | + | To enable visual notifications about network status, you need to install the packages {{Pkg|notification-daemon}} and {{Pkg|python2-notify}}. | |
− | To enable visual notifications about network status, you need to install the {{Pkg|notification-daemon}}. | ||
− | If you are not using [[GNOME]], you | + | If you are not using [[GNOME]], you may want to install {{Pkg|xfce4-notifyd}} instead of the notification-daemon, because it pulls a lot of unnecessary GNOME packages. |
− | === | + | == Getting started == |
− | |||
− | |||
− | == | + | === Initial setup === |
− | |||
Wicd provides a daemon that must be started. | 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''.}} | {{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 | + | First, stop all previously running network daemons (like netctl, netcfg, dhcpcd, NetworkManager). |
− | + | Disable any existing network management services, including {{ic|netctl}}, {{ic|netcfg}}, {{ic|dhcpcd}}, and {{ic|networkmanager}}. Refer to [[Systemd#Using units]]. | |
− | |||
− | |||
− | + | {{Note|You might need to stop and disable the '''network''' daemon instead of '''netctl''', which is a current replacement for '''network''' service. If unsure, try disabling both.}} | |
− | {{ | + | [[Start/enable]] the {{ic|wicd.service}} systemd unit. |
− | + | Add your account to '''users''' group: | |
− | |||
− | + | # gpasswd -a USERNAME users | |
− | # | ||
− | + | {{Note|The Unix group that D-Bus allows to access ''wicd'' is subject to change, and it may be different than ''users''. Check which policy group is specified in {{ic|/etc/dbus-1/system.d/wicd.conf}}, and add your user to that group.}} | |
− | + | If you added your user to a new group, log out and then log in. | |
− | + | === Running Wicd in Desktop Environment=== | |
− | If you | + | If you have installed the {{pkg|wicd-gtk}} and entered the desktop environment. Open a virtual terminal to run one of the following commands. |
− | + | * To start Wicd as system service, [[start]] the {{ic|wicd.service}} systemd unit. | |
− | To load Wicd, run: | + | * To load Wicd, run: |
$ wicd-client | $ wicd-client | ||
− | To force it to start minimized in the notification area, run: | + | * To force it to start minimized in the notification area, run: |
$ wicd-client --tray | $ wicd-client --tray | ||
− | If your desktop environment does not have a notification area, run: | + | * If your desktop environment does not have a notification area, or if you don't want wicd to show tray icon, run: |
$ wicd-client -n | $ wicd-client -n | ||
− | + | === Running Wicd in Text Mode=== | |
+ | |||
+ | If you did not install {{pkg|wicd-gtk}} then use wicd-cli or wicd-curses: | ||
$ wicd-curses | $ wicd-curses | ||
Line 86: | Line 76: | ||
{{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.}} | {{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.}} | ||
− | ==== Autostart === | + | {{Note|''wicd-curses'' is less stable than ''wicd-gtk'', and is known to crash regularly. If a crash occurs when attempting to configure a wireless network, try {{AUR|wicd-patched}}}} |
− | The {{ | + | |
+ | === Switching WPA supplicant driver === | ||
+ | |||
+ | ''Wicd'' still suggests to "almost always" use Wext as WPA supplicant driver and defaults to it. This is [http://linuxwireless.org/en/developers/Documentation/Wireless-Extensions/index.html#Do_we_still_use_WE_.3F outdated behavior]. One should use nl80211 instead, except with old drivers that do not support it. The relevant option is located in ''Preferences > Advanced Settings''. | ||
+ | |||
+ | === Autostart === | ||
+ | |||
+ | The {{Pkg|wicd-gtk}} package puts a file in {{ic|/etc/xdg/autostart/wicd-tray.desktop}}, which will autostart {{ic|wicd-client}} upon login to your DE/WM. If so, [[enable]] the {{ic|wicd}} systemd unit. | ||
If {{ic|/etc/xdg/autostart/wicd-tray.desktop}} does not exist, you can add '''wicd-client''' to your DE/WM startup to have the application start when you log in. | If {{ic|/etc/xdg/autostart/wicd-tray.desktop}} does not exist, you can add '''wicd-client''' to your DE/WM startup to have the application start when you log in. | ||
Line 93: | Line 90: | ||
{{Note|If '''wicd-client''' is added to DE/WM startup when {{ic|/etc/xdg/autostart/wicd-tray.desktop}} exists, you will have an issue of two {{ic|wicd-client}} instances running.}} | {{Note|If '''wicd-client''' is added to DE/WM startup when {{ic|/etc/xdg/autostart/wicd-tray.desktop}} exists, you will have an issue of two {{ic|wicd-client}} instances running.}} | ||
− | ===Scripts=== | + | === Scripts === |
+ | |||
Wicd has the ability to run scripts during all stages of the connection process (post/pre connect/disconnect). | Wicd has the ability to run scripts during all stages of the connection process (post/pre connect/disconnect). | ||
− | Simply place a script inside the relevant stage folder within /etc/wicd/scripts/ and make it executable. | + | Simply place a script inside the relevant stage folder within {{ic|/etc/wicd/scripts/}} and make it executable. |
The scripts are able to receive three parameters, these being: | The scripts are able to receive three parameters, these being: | ||
Line 102: | Line 100: | ||
$3 - the BSSID (gateway MAC). | $3 - the BSSID (gateway MAC). | ||
− | ====Stop ARP spoofing attacks==== | + | ==== Stop ARP spoofing attacks ==== |
The script below can be used to set a static ARP, to stop ARP spoofing attacks. | The script below can be used to set a static ARP, to stop ARP spoofing attacks. | ||
− | Simply change the values within the case statement to match those of the networks you want to set static ARP entries for. | + | Simply change the values within the case statement to match those of the networks you want to set static ARP entries for. Launch it as root: |
#!/bin/bash | #!/bin/bash | ||
Line 115: | Line 113: | ||
if [ "${connection_type}" == "wireless" ]; then | if [ "${connection_type}" == "wireless" ]; then | ||
− | + | #Change below to match your networks. | |
− | + | case "$essid" in | |
− | + | YOUR-NETWORK-NAME-ESSID) | |
− | + | arp -s 192.168.0.1 00:11:22:33:44:55 | |
− | + | ;; | |
− | + | Netgear01923) | |
− | + | arp -s 192.168.0.1 10:11:20:33:40:50 | |
− | + | ;; | |
− | + | ANOTHER-ESSID) | |
− | + | arp -s 192.168.0.1 11:33:55:77:99:00 | |
− | + | ;; | |
− | + | *) | |
− | + | echo "Static ARP not set. No network defined." | |
− | + | ;; | |
esac | esac | ||
fi | fi | ||
− | ====Change MAC using macchanger==== | + | ==== Change MAC using macchanger ==== |
+ | |||
+ | See [[MAC address spoofing#systemd + macchanger + dhcpcd (no NetworkManager)]]{{Broken section link}}. | ||
The script below can be used to change the MAC address of your network interfaces. | The script below can be used to change the MAC address of your network interfaces. | ||
− | To change the MAC whenever you connect to a network, place this script under {{ic|/etc/wicd/scripts/preconnect/}} | + | To change the MAC whenever you connect to a network, place this script under {{ic|/etc/wicd/scripts/preconnect/}}. |
Take a look at {{ic|macchanger --help}} to adjust the macchanger command to your liking. | Take a look at {{ic|macchanger --help}} to adjust the macchanger command to your liking. | ||
Line 146: | Line 146: | ||
if [[ "${connection_type}" == "wireless" ]]; then | if [[ "${connection_type}" == "wireless" ]]; then | ||
− | + | ip link set wlp2s0 down | |
− | + | macchanger -A wlp2s0 | |
− | + | ip link set wlp2s0 up | |
elif [[ "${connection_type}" == "wired" ]]; then | elif [[ "${connection_type}" == "wired" ]]; then | ||
− | + | ip link set enp1s0 down | |
− | + | macchanger -A enp1s0 | |
− | + | ip link set enp1s0 up | |
fi | fi | ||
</nowiki>}} | </nowiki>}} | ||
− | == | + | ==== Start/stop openvpn client ==== |
− | + | Put the following script in {{ic|/etc/wicd/scripts/postconnect/}}, to be able to restart openvpn client when wireless connected to specific ESSID, and replace the {{ic|YOUR_WIFI_ESSID}} with your ESSID. | |
− | |||
− | |||
− | |||
− | + | {{bc|<nowiki> | |
− | + | #!/bin/sh | |
− | = | + | ESSID="YOUR_WIFI_ESSID" |
− | + | if [ $1 == "wireless" ]; then | |
− | + | if [ $2 == "$ESSID" ]; then | |
− | + | systemctl restart openvpn-client@client | |
+ | fi | ||
+ | fi | ||
+ | </nowiki>}} | ||
− | + | Put the following script in {{ic|/etc/wicd/scripts/predisconnect/}}, to stop openvpn client when wireless disconnected from specific ESSID and replace the {{ic|YOUR_WIFI_ESSID}} with your ESSID. | |
− | / | ||
− | + | {{bc|<nowiki> | |
+ | #!/bin/sh | ||
− | = | + | ESSID="YOUR_WIFI_ESSID" |
− | |||
− | {{ | + | if [ $1 == "wireless" ]; then |
+ | if [ $2 == "$ESSID" ]; then | ||
+ | systemctl stop openvpn-client@client | ||
+ | fi | ||
+ | fi | ||
+ | </nowiki>}} | ||
+ | |||
+ | == Troubleshooting == | ||
+ | |||
+ | See [[Network configuration#Troubleshooting]] for troubleshooting wired connections and [[Wireless network configuration#Troubleshooting]] for troubleshooting wireless connections. This section covers only problems specific to ''wicd''. | ||
+ | |||
+ | === Autoconnect on resume from hibernation/suspension === | ||
+ | |||
+ | If for some reasons autoconnect on resume from hibernation or suspension does not work automatically, you can manually restart Wicd by enabling the following service file for your user; see [[systemd/User#Basic setup]]. | ||
+ | |||
+ | {{hc|~/.config/systemd/user/wicd@resume.service|<nowiki> | ||
+ | [Unit] | ||
+ | Description=Restart Wicd autoconnect service on resume | ||
+ | After=suspend.target | ||
+ | |||
+ | [Service] | ||
+ | Type=oneshot | ||
+ | User=%i | ||
+ | RemainAfterExit=no | ||
+ | ExecStart=/usr/share/wicd/daemon/autoconnect.py | ||
− | + | [Install] | |
+ | WantedBy=suspend.target | ||
+ | </nowiki>}} | ||
=== Importing pynotify failed, notifications disabled === | === Importing pynotify failed, notifications disabled === | ||
− | |||
− | + | In case the {{pkg|python2-notify}} package did not get installed automatically. You can [[install]] it from [[official repositories]]. | |
− | + | === D-Bus connection error message === | |
− | + | If wicd suddenly stopped working and it complains about D-Bus, it is quite likely that you just need to remove wicd fully, including and all its configuration files, and re-install it from scratch by first removing {{pkg|wicd}}. Then remove its configuration files: | |
− | + | # rm -rf /etc/wicd /var/log/wicd /etc/dbus-1/system.d/wicd* | |
− | + | Then reinstall the package. | |
− | + | Check this link for more details: https://bbs.archlinux.org/viewtopic.php?pid=577141#p577141 | |
− | Check this link for more details: https://bbs.archlinux.org/viewtopic.php?pid=577141#p577141 | ||
− | Wicd-client also throws a | + | Wicd-client also throws a D-Bus 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 {{ic|/etc/wicd/wired-settings.conf}} in which case you simply have to remove the |
[] | [] | ||
and restart wicd. | and restart wicd. | ||
− | + | If the above does not work, you could try https://bbs.archlinux.org/viewtopic.php?pid=1268721 | |
− | |||
− | ===Problems after package update=== | + | === Problems after package update === |
− | |||
− | A solution is to remove the | + | Sometimes the wicd client fails to load after a package update due to D-Bus errors. A solution is to [[stop]] {{ic|wicd.service}}, remove the configuration files in the {{ic|/etc/wicd/}} directory, and [[start]] {{ic|wicd.service}}. |
− | |||
− | |||
− | |||
− | ===Note about graphical sudo programs=== | + | === Note about graphical sudo programs === |
− | |||
− | |||
− | + | If you are receiving an error about wicd failing to find a graphical sudo program, install {{Pkg|kdesu}} or {{AUR|ktsuss}}, then use the relative command: | |
$ kdesu wicd-client -n | $ kdesu wicd-client -n | ||
− | + | $ ktsuss wicd-client -n | |
− | === | + | === Eduroam === |
− | {{ | + | See [[WPA2 Enterprise#Wicd]]{{Broken section link}}. |
− | + | === Two instances of wicd-client (and possibly two icons in tray) === | |
− | + | See the note in [[#Running Wicd]]{{Broken section link}} about the autostart file in {{ic|/etc/xdg/autostart}} and the forum post and bug report provided in [[#External Links]]{{Broken section link}}. Essentially, if {{ic|/etc/xdg/autostart/wicd-tray.desktop}} exists, remove it. You only need the {{ic|wicd}} service enabled in systemd. | |
− | {{ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | === Bad password using PEAP with TKIP/MS-CHAPv2 === | |
− | |||
− | + | The connection template PEAP with TKIP/MS-CHAPv2 requires the user to enter the path to a CA certificate besides entering username and password. However this can cause troubles resulting in an error message of a bad password [https://bbs.archlinux.org/viewtopic.php?pid=990385]. A possible solution is the usage of PEAP with GTC instead of TKIP/MS-CHAPv2 which does not require one to enter the path of the CA cert. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | === Wicd skips obtaining IP address on wlp === | |
− | + | This can be caused by dhcpcd running alongside wicd as systemd service. A solution would be to stop/disable '''dhcpcd'''. | |
− | |||
− | + | === dhcpcd not running === | |
− | + | Normally it should not be required, nor recommended to run the dhcpcd service next to wicd. However, if you encounter the error message that dhcpcd is not running, then you can try [[start]]ing the {{ic|dhcpcd}} systemd unit and see if you encounter any incompatibilities when using both services at the same time. | |
− | + | Alternatively, as a workaround you might consider switching to {{Pkg|dhclient}} in the Wicd settings. | |
− | |||
− | + | {{Note|If you get ''send_packet: Network is unreachable'' errors, then try increasing the timeout in /usr/share/dhclient/dhclient.conf.}} | |
− | |||
− | === | + | == See also == |
− | |||
− | |||
− | |||
− | + | * [https://bbs.archlinux.org/viewtopic.php?id=114803 Forum post] about two instances of wicd-client and {{ic|/etc/xdg/autostart}} | |
− | + | * [https://bugs.archlinux.org/task/22423 Bug report mentioning /etc/xdg/autostart and wicd-client behavior] | |
− | *[https://bbs.archlinux.org/viewtopic.php?id=114803 Forum post about two instances of wicd-client and /etc/xdg/autostart | ||
− | *[https://bugs.archlinux.org/task/22423 Bug report mentioning /etc/xdg/autostart and wicd-client behavior] |
Latest revision as of 22:01, 16 April 2018
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+. Wicd can also run from the terminal in a curses interface, requiring no X server session or task panel (see #Running Wicd in Text Mode).
Contents
- 1 Installation
- 2 Getting started
- 3 Troubleshooting
- 3.1 Autoconnect on resume from hibernation/suspension
- 3.2 Importing pynotify failed, notifications disabled
- 3.3 D-Bus connection error message
- 3.4 Problems after package update
- 3.5 Note about graphical sudo programs
- 3.6 Eduroam
- 3.7 Two instances of wicd-client (and possibly two icons in tray)
- 3.8 Bad password using PEAP with TKIP/MS-CHAPv2
- 3.9 Wicd skips obtaining IP address on wlp
- 3.10 dhcpcd not running
- 4 See also
Installation
Install the wicd package, or wicd-gitAUR for the development version. It includes everything needed to run the wicd daemon and the wicd-cli
and wicd-curses
interfaces.
There is also an official GTK+ front-end, available as wicd-gtk.
Notifications
To enable visual notifications about network status, you need to install the packages notification-daemon and python2-notify.
If you are not using GNOME, you may want to install xfce4-notifyd instead of the notification-daemon, because it pulls a lot of unnecessary GNOME packages.
Getting started
Initial setup
Wicd provides a daemon that must be started.
First, stop all previously running network daemons (like netctl, netcfg, dhcpcd, NetworkManager).
Disable any existing network management services, including netctl
, netcfg
, dhcpcd
, and networkmanager
. Refer to Systemd#Using units.
Start/enable the wicd.service
systemd unit.
Add your account to users group:
# gpasswd -a USERNAME users
/etc/dbus-1/system.d/wicd.conf
, and add your user to that group.If you added your user to a new group, log out and then log in.
Running Wicd in Desktop Environment
If you have installed the wicd-gtk and entered the desktop environment. Open a virtual terminal to run one of the following commands.
- To start Wicd as system service, start the
wicd.service
systemd unit.
- To load Wicd, run:
$ wicd-client
- To force it to start minimized in the notification area, run:
$ wicd-client --tray
- If your desktop environment does not have a notification area, or if you don't want wicd to show tray icon, run:
$ wicd-client -n
Running Wicd in Text Mode
If you did not install wicd-gtk then use wicd-cli or wicd-curses:
$ wicd-curses
Switching WPA supplicant driver
Wicd still suggests to "almost always" use Wext as WPA supplicant driver and defaults to it. This is outdated behavior. One should use nl80211 instead, except with old drivers that do not support it. The relevant option is located in Preferences > Advanced Settings.
Autostart
The wicd-gtk package puts a file in /etc/xdg/autostart/wicd-tray.desktop
, which will autostart wicd-client
upon login to your DE/WM. If so, enable the wicd
systemd unit.
If /etc/xdg/autostart/wicd-tray.desktop
does not exist, you can add wicd-client to your DE/WM startup to have the application start when you log in.
/etc/xdg/autostart/wicd-tray.desktop
exists, you will have an issue of two wicd-client
instances running.Scripts
Wicd has the ability to run scripts during all stages of the connection process (post/pre connect/disconnect).
Simply place a script inside the relevant stage folder within /etc/wicd/scripts/
and make it executable.
The scripts are able to receive three parameters, these being:
$1 - the connection type (wireless/wired). $2 - the ESSID (network name). $3 - the BSSID (gateway MAC).
Stop ARP spoofing attacks
The script below can be used to set a static ARP, to stop ARP spoofing attacks. Simply change the values within the case statement to match those of the networks you want to set static ARP entries for. Launch it as root:
#!/bin/bash #Set the parameters passed to this script to meaningful variable names. connection_type="$1" essid="$2" bssid="$3" if [ "${connection_type}" == "wireless" ]; then #Change below to match your networks. case "$essid" in YOUR-NETWORK-NAME-ESSID) arp -s 192.168.0.1 00:11:22:33:44:55 ;; Netgear01923) arp -s 192.168.0.1 10:11:20:33:40:50 ;; ANOTHER-ESSID) arp -s 192.168.0.1 11:33:55:77:99:00 ;; *) echo "Static ARP not set. No network defined." ;; esac fi
Change MAC using macchanger
See MAC address spoofing#systemd + macchanger + dhcpcd (no NetworkManager)[broken link: invalid section].
The script below can be used to change the MAC address of your network interfaces.
To change the MAC whenever you connect to a network, place this script under /etc/wicd/scripts/preconnect/
.
Take a look at macchanger --help
to adjust the macchanger command to your liking.
#!/usr/bin/env bash connection_type="$1" if [[ "${connection_type}" == "wireless" ]]; then ip link set wlp2s0 down macchanger -A wlp2s0 ip link set wlp2s0 up elif [[ "${connection_type}" == "wired" ]]; then ip link set enp1s0 down macchanger -A enp1s0 ip link set enp1s0 up fi
Start/stop openvpn client
Put the following script in /etc/wicd/scripts/postconnect/
, to be able to restart openvpn client when wireless connected to specific ESSID, and replace the YOUR_WIFI_ESSID
with your ESSID.
#!/bin/sh ESSID="YOUR_WIFI_ESSID" if [ $1 == "wireless" ]; then if [ $2 == "$ESSID" ]; then systemctl restart openvpn-client@client fi fi
Put the following script in /etc/wicd/scripts/predisconnect/
, to stop openvpn client when wireless disconnected from specific ESSID and replace the YOUR_WIFI_ESSID
with your ESSID.
#!/bin/sh ESSID="YOUR_WIFI_ESSID" if [ $1 == "wireless" ]; then if [ $2 == "$ESSID" ]; then systemctl stop openvpn-client@client fi fi
Troubleshooting
See Network configuration#Troubleshooting for troubleshooting wired connections and Wireless network configuration#Troubleshooting for troubleshooting wireless connections. This section covers only problems specific to wicd.
Autoconnect on resume from hibernation/suspension
If for some reasons autoconnect on resume from hibernation or suspension does not work automatically, you can manually restart Wicd by enabling the following service file for your user; see systemd/User#Basic setup.
~/.config/systemd/user/wicd@resume.service
[Unit] Description=Restart Wicd autoconnect service on resume After=suspend.target [Service] Type=oneshot User=%i RemainAfterExit=no ExecStart=/usr/share/wicd/daemon/autoconnect.py [Install] WantedBy=suspend.target
Importing pynotify failed, notifications disabled
In case the python2-notify package did not get installed automatically. You can install it from official repositories.
D-Bus connection error message
If wicd suddenly stopped working and it complains about D-Bus, it is quite likely that you just need to remove wicd fully, including and all its configuration files, and re-install it from scratch by first removing wicd. Then remove its configuration files:
# rm -rf /etc/wicd /var/log/wicd /etc/dbus-1/system.d/wicd*
Then reinstall the package. Check this link for more details: https://bbs.archlinux.org/viewtopic.php?pid=577141#p577141
Wicd-client also throws a D-Bus 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.
If the above does not work, you could try https://bbs.archlinux.org/viewtopic.php?pid=1268721
Problems after package update
Sometimes the wicd client fails to load after a package update due to D-Bus errors. A solution is to stop wicd.service
, remove the configuration files in the /etc/wicd/
directory, and start wicd.service
.
Note about graphical sudo programs
If you are receiving an error about wicd failing to find a graphical sudo program, install kdesu or ktsussAUR, then use the relative command:
$ kdesu wicd-client -n
$ ktsuss wicd-client -n
Eduroam
See WPA2 Enterprise#Wicd[broken link: invalid section].
Two instances of wicd-client (and possibly two icons in tray)
See the note in #Running Wicd[broken link: invalid section] about the autostart file in /etc/xdg/autostart
and the forum post and bug report provided in #External Links[broken link: invalid section]. Essentially, if /etc/xdg/autostart/wicd-tray.desktop
exists, remove it. You only need the wicd
service enabled in systemd.
Bad password using PEAP with TKIP/MS-CHAPv2
The connection template PEAP with TKIP/MS-CHAPv2 requires the user to enter the path to a CA certificate besides entering username and password. However this can cause troubles resulting in an error message of a bad password [1]. A possible solution is the usage of PEAP with GTC instead of TKIP/MS-CHAPv2 which does not require one to enter the path of the CA cert.
Wicd skips obtaining IP address on wlp
This can be caused by dhcpcd running alongside wicd as systemd service. A solution would be to stop/disable dhcpcd.
dhcpcd not running
Normally it should not be required, nor recommended to run the dhcpcd service next to wicd. However, if you encounter the error message that dhcpcd is not running, then you can try starting the dhcpcd
systemd unit and see if you encounter any incompatibilities when using both services at the same time.
Alternatively, as a workaround you might consider switching to dhclient in the Wicd settings.
See also
- Forum post about two instances of wicd-client and
/etc/xdg/autostart
- Bug report mentioning /etc/xdg/autostart and wicd-client behavior