Getting Started/Tutorials/D-Bus/Configuration

< Getting Started
Revision as of 08:49, 30 April 2010 by JRT (Talk | contribs)

Jump to: navigation, search


Contents

Getting_Started/Tutorials/D-Bus/Configuration


Configuring for Services

All KDE-4 versions

If you instlled KDE-4.x.y in: "/opt/KDE-4, the default location where D-Bus services will be installed is "/opt/KDE-4/share/dbus-1/services". D-Bus needs to find these services and use them.

You can either change the default to install them in: "/usr/share/dbus-1/services" by adding the CMake parameter:

-DDBUS_SERVICES_INSTALL_DIR:PATH=/usr/share/dbus-1/services
Or, you can add, for example:
  <servicedir>/opt/KDE-4/share/dbus-1/services</servicedir>

{use the actual path from your system}

to your: "/etc/dbus-1/session.conf" file after the line:
  <standard_session_servicedirs />

NOTE: Although you can place multiple paths for services in the "/etc/dbus-1/session-local.conf" file, if the services have the same name, only the last one will be used. This may or may not cause problems if you have multiple versions of KDE on your system.

KDE-4.4 and TRUNK

The current KDE-4.4 BRANCH and TRUNK also install a: "system-services" directory. If you installed KDE-4.x.y in: "/opt/KDE-4, the D-Bus system services will be installed in "/opt/KDE-4/share/dbus-1/system-services". D-Bus needs to find these services and use them.

You can either change the default to install them in: "/usr/share/dbus-1/system-services" by adding the CMake parameter:

-DDBUS_SYSTEM_SERVICES_INSTALL_DIR:PATH=/usr/share/dbus-1/system-services
Or, you can add, for example:
  <servicedir>/opt/KDE-4/share/dbus-1/system-services</servicedir> 

{use the actual path from your system}

to your: "/etc/dbus-1/system.conf" file after the line:
  <standard_system_servicedirs/>

NOTE: Although you can place multiple paths for system services in the "/etc/dbus-1/system-local.conf" file, if the services have the same name, only the last one will be used. This may or may not cause problems if you have multiple versions of KDE on your system.

SYSCONF_INSTALL_DIR

You can use the parameter: "SYSCONF_INSTALL_DIR" when running CMake to place the configuration directories where you want them which would normally be: "/etc/kde-4" or if installing multiple versions: "/etc/kde-4.<x>"

For example, if you use:

-DSYSCONF_INSTALL_DIR=/etc/kde-4

Then you must configure D-Bus to find these directories.

First if one or both of the directories:

/etc/kde-4.4/dbus-1/session.d
/etc/kde-4.4/dbus-1/system.d

doesn't/don't exist, create it/them.

Then add:
  <includedir>/etc/kde-4/dbus-1/session.d</includedir>

to your: "/etc/dbus-1/session-local.conf" file.

If you don't have the: "session-local.conf", create it:

------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------
<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>

  <!-- Search for .conf files in /etc/kde-4/dbus-1/session.d -->
  <includedir>/etc/kde-4/dbus-1/session.d</includedir>

</busconfig>

------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------

And add:
  <includedir>/etc/kde-4/dbus-1/system.d</includedir>

to your: "/etc/dbus-1/system-local.conf" file.

If you don't have the: "system-local.conf", create it:

------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------
<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>

  <!-- Search for .conf files in /etc/kde-4/dbus-1/system.d -->
  <includedir>/etc/kde-4/dbus-1/system.d</includedir>

</busconfig>

------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------

Policy files

It is not possible to configure the location of the "*.policy" files. therefore, you must build KDE-4 and: "polkit-kde-1" with:

-DKDE4_AUTH_POLICY_FILES_INSTALL_DIR:STRING=/usr/share/PolicyKit/policy

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal