#Systemd user services are unavailable. Skipping lingering checks and service install.
1 messages · Page 1 of 1 (latest)
That message is basically: the onboarding wizard tried to install the Gateway as a background service via systemd --user, but your container environment doesnât have a working âuser systemd / user D-Bus sessionâ, so it skipped the service install (and the lingering check).
So:
- Should you be concerned? Not really. OpenClaw can still run fine.
- What it means: You wonât get an auto-starting systemd user service. After a reboot/logout, the gateway wonât magically come back unless you run it some other way.
- What to correct: Either run the gateway manually/supervised, or fix systemd-user-session support in the LXC so
systemctl --userworks.
Docs reference (this exact step): https://docs.openclaw.ai/reference/wizard#daemon-install
Option A (quick / common on LXC): just run it yourself
Use foreground to confirm everything works:
openclaw gateway run
Then keep it alive with whatever you use in the container (tmux/screen/supervisord), or run OpenClaw in a setup that provides proper service management (VM/Docker/Podman depending on your host).
Option B (make the wizardâs systemd user service work)
You need systemd as PID 1 + a user session with DBus (this is whatâs often missing in LXC/headless/root-only setups).
Run these and paste the output if you want help diagnosing:
openclaw --version
ps -p 1 -o comm=
systemctl --user status
echo $XDG_RUNTIME_DIR
echo $DBUS_SESSION_BUS_ADDRESS
If you do get systemctl --user working, then rerun the service install:
openclaw gateway install
openclaw gateway start
openclaw gateway status
If you tell me whether your Debian LXC is running systemd inside the container (and whether youâre running OpenClaw as root or a normal user), I can point you to the most likely fix path.
openclaw@openclawproxmox:~$ openclaw --version
2026.3.1
openclaw@openclawproxmox:~$ ps -p 1 -o comm=
systemd
openclaw@openclawproxmox:~$ systemctl --user status
Failed to connect to user scope bus via local transport: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
openclaw@openclawproxmox:~$ echo $XDG_RUNTIME_DIR
openclaw@openclawproxmox:~$ echo $DBUS_SESSION_BUS_ADDRESS
Yep â your output explains it perfectly:
systemdis PID 1 â- but you donât have a systemd âuser sessionâ / user DâBus for that shell â (
$XDG_RUNTIME_DIR+$DBUS_SESSION_BUS_ADDRESSare empty) - so
systemctl --user âŠcanât talk to the per-user service manager, and the onboarding wizard skips installing the systemd user unit + lingering.
This is common in LXC / minimal Debian / shells that arenât PAM-logind sessions (e.g. su, some SSH setups, etc.). Itâs not dangerous â it just means no auto-start service was installed.
Fix (make systemctl --user work)
- Check logind is actually running:
sudo systemctl status systemd-logind --no-pager
loginctl list-sessions
- Make sure the pieces that create user sessions are installed (Debian often needs these on âfresh/minimalâ images):
sudo apt update
sudo apt install -y libpam-systemd dbus-user-session
- Log out and log back in (important), then verify you now get a runtime dir:
echo "$XDG_RUNTIME_DIR"
systemctl --user status
You should see something like /run/user/1000.
- Then retry installing the gateway service:
openclaw gateway install
openclaw gateway start
openclaw gateway status
If XDG_RUNTIME_DIR is still empty after a fresh SSH login, tell me how youâre entering the container (SSH directly as openclaw vs su from root, etc.) and paste:
grep -E '^UsePAM' /etc/ssh/sshd_config 2>/dev/null || true
Docs context for why the wizard tries this: https://docs.openclaw.ai/reference/wizard#daemon-install
i get the same two errors when running this command
That error means youâre still not in a real âlogin sessionâ for that user, so systemd never set up the per-user runtime dir + DâBus session that systemctl --user talks to.
In LXC this is super common if youâre entering the container via Proxmox âConsoleâ / pct exec / lxc-attach (those donât go through PAM/logind), so you get:
$XDG_RUNTIME_DIRempty$DBUS_SESSION_BUS_ADDRESSempty- â
systemctl --user âŠcanât connect
Quick check: how are you getting into the container?
Run:
echo "$SSH_CONNECTION"
tty
- If
SSH_CONNECTIONis empty andttylooks likepts/...from a container attach/console, youâre in the âno login sessionâ case.
Fix path A (recommended): SSH in ânormallyâ, then install the user service
- Make sure SSH server is installed/running in the container:
sudo apt install -y openssh-server
sudo systemctl enable --now ssh
- SSH into the container as the
openclawuser (from your host machine):
ssh openclaw@<container-ip>
- Now re-check:
echo "$XDG_RUNTIME_DIR"
systemctl --user status
You should see /run/user/<uid>.
- Then:
openclaw gateway install
openclaw gateway start
openclaw gateway status
Fix path B (pragmatic for LXC): donât use systemd user services
If you donât want to fight user sessions in containers, you can just run the gateway manually (tmux/screen), or set up a system-level service instead. The onboarding warning is not a functional problem â it only affects âauto-start as a user serviceâ.
If you tell me whether youâre currently entering via Proxmox console / pct exec vs SSH, I can point you to the cleanest option for your setup.
ok for nayone that sees this just make a VM and not a CT its easier đ
and more secure anyway
Yeah⊠unfortunately that tracks. In LXC/CTs you can have systemd as PID 1 but still not have a proper user session bus (XDG_RUNTIME_DIR / DBUS_SESSION_BUS_ADDRESS), so the wizard canât install the systemd user service cleanly.
A VM is the âit just worksâ path.
If you (or someone reading later) still wants to stay on a CT, the two workable options are:
- run OpenClaw manually / under a supervisor (tmux/screen/supervisord), or
- set it up so you log in via real SSH+PAM and have
dbus-user-session+libpam-systemdsosystemctl --userworks.
If you end up moving to a VM and it fixes it, please mark the message that helped as the solution (rightâclick â Apps â â Mark Solution) so Answer Overflow indexes it.
âMore secureâ is mostly true, but with a big asterisk:
- VMs give you stronger isolation by default (separate kernel). If the guest gets popped, itâs generally harder to break out to the host.
- LXC/CTs share the host kernel, so a kernel/container-escape bug is the scary case. That said, an unprivileged CT with tight settings can still be pretty solid for many homelab setups.
For OpenClaw specifically, the practical win is: VMs avoid a ton of systemd user-session / D-Bus weirdness, so the âinstall systemd user service + lingeringâ path tends to Just Work.
If you want a short rule of thumb for folks reading later:
- Want least hassle (and good isolation)? VM.
- Want efficiency and you know your Proxmox/LXC hardening? Unprivileged CT, but expect to manage the gateway process differently.
If this thread is basically resolved, please mark the solution (right-click the message â Apps â â Mark Solution) so Answer Overflow indexes it.