DBUS - How to autostart it ?

Hello guys

I use wicd network manager, which needs that dbus manager is start before running it.
So I have to run ‘dbus-lauch’ before starting wicd daemon. It is pretty annoying to do this,
not only for the work of opening a terminal, entering su and then start everything, but because
there are three annoying popups telling me that wicd is not working properly.

So I beg you: How can I make dbus start automatically? (as it was before)

Hm, dbus should be started automatically at boot.
Verify with this that it is enabled: (or use YaST->System->Services Manager)

systemctl status dbus.service

How are you actually starting the wicd daemon? And what exact error message do you get?

And which openSUSE version and which desktop environment are you using?

OTOH, why do you need wicd anyway? It would probably be easier to just use ifup or NetworkManager, as they are supported by the distribution and YaST/your Desktop Environment.

I’m running Opensuse 13.1 amd64. This problems come everytime I update wicd, but does not happen if I install by source. I got this when running systemctl

linux-hpdv7:/home/eder # systemctl status dbus.service
dbus.service - D-Bus System Message Bus
Loaded: loaded (/usr/lib/systemd/system/dbus.service; static)
Active: active (running) since Ter 2014-08-19 10:57:19 BRT; 33min ago
Main PID: 684 (dbus-daemon)
CGroup: /system.slice/dbus.service
└─684 /bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation

Ago 19 10:59:00 linux-hpdv7 dbus[684]: [system] Activating via systemd: service name=‘org.wicd.daemon’ unit=‘dbus-org.wicd.daemon.service’
Ago 19 10:59:00 linux-hpdv7 dbus[684]: [system] Activation via systemd failed for unit ‘dbus-org.wicd.daemon.service’: Unit dbus-org.wicd.daemon.service failed to load: No such file or directory.
Ago 19 10:59:07 linux-hpdv7 dbus[684]: [system] Activating via systemd: service name=‘org.wicd.daemon’ unit=‘dbus-org.wicd.daemon.service’
Ago 19 10:59:07 linux-hpdv7 dbus[684]: [system] Activation via systemd failed for unit ‘dbus-org.wicd.daemon.service’: Unit dbus-org.wicd.daemon.service failed to load: No such file or directory.
Ago 19 10:59:10 linux-hpdv7 dbus[684]: [system] Activating via systemd: service name=‘org.wicd.daemon’ unit=‘dbus-org.wicd.daemon.service’
Ago 19 10:59:10 linux-hpdv7 dbus[684]: [system] Activation via systemd failed for unit ‘dbus-org.wicd.daemon.service’: Unit dbus-org.wicd.daemon.service failed to load: No such file or directory.
Ago 19 11:00:19 linux-hpdv7 dbus[684]: [system] Activating service name=‘org.freedesktop.PackageKit’ (using servicehelper)
Ago 19 11:00:21 linux-hpdv7 dbus[684]: [system] Successfully activated service ‘org.freedesktop.PackageKit’
Ago 19 11:05:02 linux-hpdv7 dbus[684]: [system] Activating service name=‘org.freedesktop.PackageKit’ (using servicehelper)
Ago 19 11:05:02 linux-hpdv7 dbus

And from where do you “update” it?
Why don’t you just install it from source if that works?

And you still didn’t answer how you’re actually trying to start it.

I got this when running systemctl

linux-hpdv7:/home/eder # systemctl status dbus.service
dbus.service - D-Bus System Message Bus
Loaded: loaded (/usr/lib/systemd/system/dbus.service; static)
Active: active (running) since Ter 2014-08-19 10:57:19 BRT; 33min ago
Main PID: 684 (dbus-daemon)
CGroup: /system.slice/dbus.service
└─684 /bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation

So dbus is running.

But I see those errors:

Ago 19 10:59:00 linux-hpdv7 dbus[684]: [system] Activating via systemd: service name='org.wicd.daemon' unit='dbus-org.wicd.daemon.service'
Ago 19 10:59:00 linux-hpdv7 dbus[684]: [system] Activation via systemd failed for unit 'dbus-org.wicd.daemon.service': Unit dbus-org.wicd.daemon.service failed to load: No such file or directory.

Apparently some file is missing, probably /usr/share/dbus-1/services/dbus-org.wicd.daemon.service or /usr/share/systemd/system/dbus-org.wicd.daemon.service.
So again, how/from where did you install wicd? It is not included in openSUSE 13.1…

Actually, wicd daemon is started automatically, and wicd-client is started by kde autostart.

Yes, there where a missing file. I Solved the problem by running

systemctl enable wicd.service 

I found this workaround here when googling for the missing file(s).

Thank you so much!

I got wicd from the network:utilities repo.

When? By what?

Yes, there where a missing file. I Solved the problem by running

systemctl enable wicd.service 

Ok, this starts the wicd daemon at boot. And this is necessary apparently, this is why I asked how you are starting it.

I had a look at the package in the network:utils repo (I suppose you installed the package from there?), and the file is not really missing. But it is called wicd.service, and provides dbus-org.wicd.daemon.service as “Alias”.
Apparently your client (or whatever) causes dbus-org.wicd.daemon.service to be started via dbus (/usr/share/dbus-1/system-services/org.wicd.daemon.service does contain “SystemdService=dbus-org.wicd.daemon.service”), but this “Alias” is not found then.
If that’s the case/problem, the dbus service file should probably be changed. You might want to file a bug report.

PS: I did try out wicd from the network:utilities now.

When I start the client, the daemon is automatically started as well and this works fine here (with wicked.service disabled). I did have to enter the root password though, when I started the client the first time. This should not be necessary when wicked.service is enabled to be started at boot of course.
So I don’t really see a bug here, forget my suggestion to report one… :wink:

When I ran sysctl, it made some two symbolic links and then it works. Well, I mentioned dbus because even when I was starting wicd daemon manually by opening a terminal and then logging as root, wicd would still not work until I ran ‘dbus-launch’. I guess so that running sysctl command makes dbus start automatically when wicd daemon starts. I’m right ?

It’s called “systemctl”, “sysctl” is something completely different… :wink:
Yes, it creates a symlink, so that the daemon is started automatically during boot.
If it is already running, dbus doesn’t have to start it any more, obviously.

Well, I mentioned dbus because even when I was starting wicd daemon manually by opening a terminal and then logging as root, wicd would still not work until I ran ‘dbus-launch’.

Well, how did you “login as root”?
If you use “su”, the dbus session is not exported. You have to use “su -”.
Or just select the root profile in Konsole, or the “Terminal Superuser-Mode” in the K-Menu.

I guess so that running sysctl command makes dbus start automatically when wicd daemon starts. I’m right ?

No.
It makes wicd daemon start automatically during boot, so dbus does not have to start it any more.

How this works: wicd registers its interface to dbus, via a .service file.
If you start the client, it accesses this interface. dbus then starts the daemon if it is not running (this is not necessary if it is already running), and then forwards the clients requests (dbus is an interprocess communication system).

Thanks again :slight_smile: