website/site/content/posts/sysduser.md

31 lines
1 KiB
Markdown
Raw Normal View History

2021-07-31 18:26:21 +02:00
+++
title = "How to use the Systemd userspace DBus API on Traivis-CI"
author = ["Valentin Boettcher"]
date = 2020-07-11T14:00:00+02:00
2021-08-01 13:45:18 +02:00
tags = ["DBUS", "CI"]
2021-07-31 18:26:21 +02:00
categories = ["Tricks"]
draft = false
+++
I am currently working on a project which involves talking to the
`systemd` userspace session via the session `dbus` instance.
After some fiddling around and enabling debug mode on travis via the
excellent user support, I came up with the following.
Travis uses VMs that run `ubuntu` which comes with `systemd`. To
enable the userspace `dbus` session, one has to install the
`dbus-user-session` package. After the installation, it has to be
activated through `systemctl --user start dbus`. Furthermore one has
to set the `DBUS_SESSION_BUS_ADDRESS` environment variable through
`export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus`.
TL;DR
```yaml
script:
- sudo apt update
- sudo apt install dbus-user-session
- systemctl --user start dbus
- export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus
```