Difference between revisions of "Getting Started/Tutorials/D-Bus/Configuration"

Jump to: navigation, search
(All KDE-4 versions)
 
(53 intermediate revisions by one user not shown)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Getting_Started/Tutorials/D-Bus/Configuration}}
+
 
  
 
==Configuring for Services==
 
==Configuring for Services==
Line 5: Line 5:
 
===All KDE-4 versions===
 
===All KDE-4 versions===
  
If you instlled KDE in: "/usr/KDE-4, the D-Bus services will be installed in "/usr/KDE-4/share/dbus-1/services".  D-Bus needs to find these services and use them.
+
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.
  
If you only have one version of KDE installed and you normally use it, simply add, for example if you installed KDE in: "/usr/KDE4":
+
You can either change the default to install them in:  
  
:<servicedir>/usr/KDE4/share/dbus-1/services</servicedir>
+
::/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:<pre>
 +
  <servicedir>/opt/KDE-4/share/dbus-1/services</servicedir>
 +
</pre>
 
{use the actual path from your system}
 
{use the actual path from your system}
  
 
to your: "/etc/dbus-1/session-local.conf" file.
 
to your: "/etc/dbus-1/session-local.conf" file.
  
If your system doesn't yet have that file, create it:
+
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.
  
<nowiki>------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------</nowiki>
+
===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:<pre>
 +
  <servicedir>/opt/KDE-4/share/dbus-1/system-services</servicedir>
 +
</pre>
 +
{use the actual path from your system}
 +
 +
to your: "/etc/dbus-1/system-local.conf" file.
 +
 +
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-<version>"
 +
 +
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-<version>/dbus-1/session.d
 +
::/etc/kde-<version>/dbus-1/system.d
 +
 +
doesn't/don't exist, create it/them.
 +
 +
Then add:<pre>
 +
  <includedir>/etc/kde-4/dbus-1/session.d</includedir>
 +
</pre>
 +
to your: "/etc/dbus-1/session-local.conf" file.
 +
 +
If you don't have the: "session-local.conf", create it:
 +
 +
<nowiki>------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------</nowiki><pre>
 
<!DOCTYPE busconfig PUBLIC
 
<!DOCTYPE busconfig PUBLIC
 
  "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 
  "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 
  "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
 
  "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
 
<busconfig>
 
<busconfig>
  <servicedir>/usr/KDE4/share/dbus-1/services</servicedir>
 
</busconfig>
 
  
 +
  <!-- Search for .conf files in /etc/kde-4/dbus-1/session.d -->
 +
  <includedir>/etc/kde-4/dbus-1/session.d</includedir>
 +
 +
</busconfig>
 +
</pre>
 
<nowiki>------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------</nowiki>
 
<nowiki>------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------</nowiki>
  
If you have installed an additional version of KDE-4 that you start with another user account according to the instructions for building KDE4.x, things are not as simple since you need to have the D-Bus services for that KDE-4 installation override the normal ones ONLY when using that user account.  
+
And add:<pre>
 +
  <includedir>/etc/kde-4/dbus-1/system.d</includedir>
 +
</pre>
 +
to your: "/etc/dbus-1/system-local.conf" file.
  
TO DO
+
If you don't have the: "system-local.conf", create it:
  
===KDE-4.4 and TRUNK===
+
<nowiki>------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------</nowiki><pre>
 +
<!DOCTYPE busconfig PUBLIC
 +
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 +
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
 +
<busconfig>
  
TO DO
+
  <!-- Search for .conf files in /etc/kde-4/dbus-1/system.d -->
 +
  <includedir>/etc/kde-4/dbus-1/system.d</includedir>
  
==SYSCONF_INSTALL_DIR==
+
</busconfig>
 +
</pre>
 +
<nowiki>------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<------</nowiki>
 +
 
 +
==Policy files==
  
TO DO
+
It is not possible to configure the location of the "*.policy" files.  therefore, you must build KDE-4 and: "polkit-kde-1" with:
  
==Work In Progress==
+
::-DKDE4_AUTH_POLICY_FILES_INSTALL_DIR:STRING=/usr/share/PolicyKit/policy
  
My apologies!  The documentation for D-Bus is inadequate, but I am working on this.  Till then, ask on the KDE or KDE-Linux mailing lists.
+
{for PolicyKit installed with a prefix of: "/usr"}

Latest revision as of 16:28, 19 July 2012


Contents

[edit] Configuring for Services

[edit] 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-local.conf" file.

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.

[edit] 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-local.conf" file.

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.

[edit] 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-<version>"

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-<version>/dbus-1/session.d
/etc/kde-<version>/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<------

[edit] 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

{for PolicyKit installed with a prefix of: "/usr"}


This page was last modified on 19 July 2012, at 16:28. This page has been accessed 11,080 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal