Nach einem Update ging der Wicd Client unter Arch Linux als normaler User nicht mehr. Grund dafür sind fehlende DBus Policys.
Die Datei /etc/dbus-1/system.d/wicd.conf muss wie folgt angepasst werden:
<!-- /etc/dbus-1/system.d/wicd.conf -->
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<policy user="root">
<allow own="org.wicd.daemon"/>
<allow send_destination="org.wicd.daemon"/>
<allow send_interface="org.wicd.daemon"/>
<allow send_destination="org.wicd.daemon.wireless"/>
<allow send_interface="org.wicd.daemon.wireless"/>
<allow send_destination="org.wicd.daemon.wired"/>
<allow send_interface="org.wicd.daemon.wired"/>
<allow send_destination="org.wicd.daemon.config"/>
<allow send_interface="org.wicd.daemon.config"/>
</policy>
<!-- neuer Eintrag -->
<policy group="wicd">
<allow send_destination="org.wicd.daemon"/>
<allow send_interface="org.wicd.daemon"/>
<allow send_destination="org.wicd.daemon.wireless"/>
<allow send_interface="org.wicd.daemon.wireless"/>
<allow send_destination="org.wicd.daemon.wired"/>
<allow send_interface="org.wicd.daemon.wired"/>
<allow send_destination="org.wicd.daemon.config"/>
<allow send_interface="org.wicd.daemon.config"/>
<allow send_interface="org.freedesktop.DBus.Introspectable"/>
</policy>
<!-- neuer Eintrag ende -->
<policy at_console="true">
<allow send_destination="org.wicd.daemon"/>
<allow send_interface="org.wicd.daemon"/>
<allow send_destination="org.wicd.daemon.wireless"/>
<allow send_interface="org.wicd.daemon.wireless"/>
<allow send_destination="org.wicd.daemon.wired"/>
<allow send_interface="org.wicd.daemon.wired"/>
<allow send_destination="org.wicd.daemon.config"/>
<allow send_interface="org.wicd.daemon.config"/>
<allow send_interface="org.freedesktop.DBus.Introspectable"/>
</policy>
<policy context="default">
<deny own="org.wicd.daemon"/>
</policy>
<!-- This Unix group will have permission to use Wicd's gui -->
<policy group="users">
<allow send_interface="org.freedesktop.DBus.Introspectable"/>
<allow send_destination="org.wicd.daemon"/>
<allow send_interface="org.wicd.daemon"/>
</policy>
</busconfig>
Ich habe mir einfach eine neue Gruppe mit den Namen "wicd" angelegt, in der mein User Mitglied ist. Dieser Gruppe kann dann mit verschiedenen Policys Rechte zugewiesen werden. In meinem Beispiel kann so der normale User so gut wie alles.
Manche Rechte kann man natürlich auch weglassen. Aber ich bin faul.
Und bei einem Single User PC ist das sowieso Latte.
Nach den Änderungen müssen noch der dbus- und wicd-Daemon neugestartet werden.
/etc/rc.d/dbus restart && /etc/rc.d/wicd restart