User Tools

Site Tools


dbus_and_dm

main 66 documentation

Configuring the system with a display manager (sddm, lightdm, .. etc) requires consolekit and dbus to be running and for most desktops a dbus-session for user to be activated at login. The following is a guide on how to set it up if you have done a base installation and this wasn't already done by the installer.

Adding dbus as a service at root level is as simple as enabling it on a tree (root for this example):

# 66-enable -t root dbus

To start dbus for user is a much more involved task, but specifically to start dbus for user (oblive) on a user tree “graphics” it is as simple as:

% 66-enable -t graphics dbus-session@oblive

But how is a user tree created, enabled, so user services can run?

Configuring a system with a login tracker (e.g consolekit) and/or a DisplayManager (e.g. sddm) with the conjunction of dbus can be a very tedious task. Understanding the relationship between those elements is not so easy and needs compilation specification of dbus and consolekit, export of environment variables, creation of a different directory on the system, configuration of executable files (e.g. .xinitrc,.xession) and so on.

Although you are free to setup those services as individual services in any tree you wish, we highly recommend you utilize the boot-user@ module to handle a DM, console-tracker (such as consolekit), a display-manager@, etc. See the page for setting up the boot-user@ module.

You will find a package called boot-user@-66serv. This package is a module that will configure a set of services and modify a configuration file to properly start your X session with e.g sddm, consolekit and dbus. You will be able to start any Desktop session as JWM, Openbox, Plasma just applying a few commands.

NOTE: Please pay attention at the prompt symbol, % indicates a user command - # indicates a root comman. Sudo is optional in Obarun (base metapackage doesn't incluse sudo).

Install the boot-user@-66serv package:

# pacman -S boot-user@-66serv

The module is a general set of services that needs to be adaptable. For example you may want to start your X by startx instead of a DM.

If you want to use a display manager(DM) consider to install the required service DM and consolekit

# pacman -S sddm-66serv consolekit-66serv dbus-66serv console-tracker@-66serv display-manager@-66serv

See the list of related packages at the end of the document and choose wisely.

Create a user configuration tree as root, IF you don't already have one, to enable s6 to run user services:

# 66-tree -nE boot-user

Do not forget the -E (Enable) option at tree creation to be able to start the tree at boot time.

# 66-enable -t boot-user boot-user@oblive

Note: oblive is the default obarun installer user name, substitute your user name in place of “oblive”

You need now to configure the boot-user@oblive module. To edit its configuration file use the 66-env program, just as you use it for the boot@ module:

→ as root:

# 66-env -t boot-user -e nano boot-user@oblive

Your preferred editor (nano used as an example) should display the contents of the configuration file. Change what you need inside, save it and exit.

If you want to use a DM, uncomment and set CONSOLE_TRACKER=consolekit. Also, uncomment and set DISPLAY_MANAGER=sddm. See the specific document about boot-user@ for details in configuring boot-user@<username>, it is important.

Then enable it again and pass the new configuration to the tree:

# 66-enable -t boot-user -F boot-user@oblive

At your next boot a scandir for the oblive user will be created launched with good environment variable like DISPLAY, XDG_RUNTIME_DIR, DBUS_SESSION_BUS_ADDRESS and so on.

This doesn't mean there are any daemons running under this scandir, but when they are introduced they will inherit those environment variables.

The .xession and .xinitrc is configured and ready to be started. The /run/user/<uid> is created and mounted correctly to accept any desktop daemon launched by dbus.

So, enable the daemon on tree e.g. root:

# 66-enable -t root dbus

Enable dbus as normal user (not root and make sure you have an active user tree):

% 66-enable dbus-session@oblive

A reboot may be necessary, or you can try re-initializing the related trees manually.

For further information on how to setup the boot-user module and display manager see the boot-user@ document.

Relevant service and module packages to dbus, dm, consoletracker/consolekit that may be necessary are listed below:

  • boot-user@-66serv
  • console-tracker@-66serv
  • consolekit-66serv
  • dbus-66serv (also contains the dbus-session@ user service)
  • display-manager@-66serv
  • lightdm-66serv
  • lxdm-66serv
  • sddm-66serv
  • slim-66serv

Note about confusion between dbus, consolekit, display-manager: Some may choose to run a desktop that requires dbus (root and user) and a login-daemon/console-tracker (Obarun only supports consolekit2), and some prefer to run a Display Manager (DM) to login to their choice of desktops and window managers, and all those parts may or may not be interrelated. Specifically you can login from console and start X and a desktop without a Display Manager. The boot-user@ module allows you to make those choices, and it is where all those aspects can be combined in one module, or have only certain pieces controlled by the module. The choice is yours, we are here to help on how to set-up specific choices, but yet choices make documentation writing for each combination of choices hard. Please help us improve documentation. It is very hard to isolate these particular parts into separate documents while also combine functionality to make life easier for the user.

dbus_and_dm.txt · Last modified: 2021/02/27 06:02 by wikiman