![]() Registered Member ![]()
|
Hi,
I have KDE 4.5 running on Kubuntu 10.10 Maverick and have also compiled KDE trunk in ~/kde. Trunk's dbus service files are in ~/kde/share/dbus-1/services and the distro KDE's service files in /usr/share/dbus-1/services which is the DBus default. I login to my trunk build using a xsession by setting variables and exec'ing startkde. Everything works fine, except that DBus loads services from /usr/share/dbus-1/services instead of ~/kde/share/dbus-1/services. I am sure of it as by default, dbus starts /usr/bin/bluedevil-helper and if I delete the BlueDevil service file from /usr/share/dbus-1/services , then it starts ~/kde/bin/bluedevil-helper, meaning that it then read the service files from ~/kde/share/dbus-1/services. Due to this reason there are lots of conflicts and things don't work in trunk because the older DBus service files are loaded. I've used a session-local.conf in /etc/dbus-1 which looks like this -
also I set the following variables before starting trunk -
So is there a way I can tell DBus to load the service files from ~/kde/share/dbus-1/services and then don't load services with the same name that exist in /usr/share/dbus-1/services ? Thanks |
![]() Administrator ![]()
|
Can you verify that /etc/dbus-1/session.conf contains the appropriate include for session-local.conf?
KDE Sysadmin
[img]content/bcooksley_sig.png[/img] |
![]() Registered Member ![]()
|
Yes, I can see its included, here is session.conf contents-
|
![]() Administrator ![]()
|
It should be working then. It seems like dbus is looking in it's own paths first, then yours, which is contrary to the documentation. Try moving the include statement for your session-local.conf file further up in the session.conf file.
KDE Sysadmin
[img]content/bcooksley_sig.png[/img] |
![]() Registered Member ![]()
|
Yep, you guessed it right, I moved <include>session-local.conf</include> to the first line after <busconfig> and now it loads the one in ~/kde/share/dbus-1/services. Weird, it really is contrary to documentation.
Though I run trunk almost always, isn't there a way to do this using some environment variables? So that if I login to KDE stable (distro packaged one), it loads from default, and when I login to KDE trunk, it loads from custom path? |
![]() Administrator ![]()
|
You could do this by having a local copy of session.conf in your user account, then having the startup process run dbus-daemon using this configuration file. The command would be:
dbus-daemon --config-file /path/to/local/session.conf No idea how to handle the environment variables, etc that dbus uses though.
KDE Sysadmin
[img]content/bcooksley_sig.png[/img] |
Registered users: Bing [Bot], Evergrowing, Google [Bot], rockscient