First a small introduction about wicd for those who are not familiar with it, it is a deamon/client application that manage your networks connections, more or less like Networkmanager which is the default in Ubuntu, I was using wifi-radar untill I discovered wicd reading the ArchLinux wiki, well now lets go to the problem I got while running it on Debian and how I solve it. I have installed wicd to manage my network connections on my Debian Squeeze, the daemon started OK, but when I was trying to start the client I got this error.
Loading... Attempting to connect tray to daemon... Success. ERROR:dbus.proxies:Introspect error on :1.46:/org/wicd/daemon: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 1 matched rules; type="method_call", sender=":1.49" (uid=1000 pid=4108 comm="python /usr/share/wicd/wicd-client.py ") interface="org.freedesktop.DBus.Introspectable" member="Introspect" error name="(unset)" requested_reply=0 destination=":1.46" (uid=0 pid=3831 comm="python /usr/share/wicd/wicd-daemon.py ")) Traceback (most recent call last): File "/usr/share/wicd/wicd-client.py", line 565, inmain(sys.argv) File "/usr/share/wicd/wicd-client.py", line 546, in main tray_icon = TrayIcon(use_tray, animate) File "/usr/share/wicd/wicd-client.py", line 102, in __init__ self.icon_info = self.TrayConnectionInfo(self.tr, use_tray, animate) File "/usr/share/wicd/wicd-client.py", line 127, in __init__ self.update_tray_icon() File "/usr/share/wicd/wicd-client.py", line 184, in update_tray_icon [state, info] = daemon.GetConnectionStatus() File "/var/lib/python-support/python2.5/dbus/proxies.py", line 68, in __call__ return self._proxy_method(*args, **keywords) File "/var/lib/python-support/python2.5/dbus/proxies.py", line 140, in __call__ **keywords) File "/var/lib/python-support/python2.5/dbus/connection.py", line 622, in call_blocking message, timeout) dbus.exceptions.DBusException: org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 1 matched rules; type="method_call", sender=":1.49" (uid=1000 pid=4108 comm="python /usr/share/wicd/wicd-client.py ") interface="org.wicd.daemon" member="GetConnectionStatus" error name="(unset)" requested_reply=0 destination=":1.46" (uid=0 pid=3831 comm="python /usr/share/wicd/wicd-daemon.py ")) The solution was pretty easy, but it was hard to find on google, that is why I want to put it here. This is the content of my /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"/ > < /policy > < policy at_console="true" > < deny own="org.wicd.daemon"/ > < allow send_destination="org.wicd.daemon"/ > < allow send_interface="org.wicd.daemon"/ > < /policy > < !-- < policy context="default" > < deny own="org.wicd.daemon"/ > < allow send_destination="org.wicd.daemon"/ > < allow send_interface="org.wicd.daemon"/ > < /policy > -- > < !-- If you would like to restrict usage of the wicd daemon to some subset of users, then you can do something like this after commenting the aboveblock -- > < policy group="netdev" > < deny own="org.wicd.daemon"/ > < allow send_destination="org.wicd.daemon"/ > < allow send_interface="org.wicd.daemon"/ > < /policy > < /busconfig > As you can see in the last block it is restricting the use of wicd to the netdev group, so I only had to add my user to that group and it start working, to do that run: usermod -a -G netdev youruser
read more about usermod