0

Not using display manager and executing startup logic via xinitrc. Problem is some dbus-related env variables are not set.

xinitrc excerpt:

dbus-update-activation-environment --systemd --all  # note this errors
/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &

eval $(/usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh)
export GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID

First one returns error

dbus-update-activation-environment: warning: error sending to systemd: org.freedesktop.DBus.Error.InvalidArgs: Invalid environment assignments

How to make sure dbus vars (eg DBUS_SESSION_BUS_ADDRESS) are set?

Note alternatively I could comment out these lines from /usr/bin/startx:

unset DBUS_SESSION_BUS_ADDRESS
unset SESSION_MANAGER

but not sure that's the way to go.

Running debian testing.

  • I usually run xinit directly on fedora without problems, so you are probably right that you need to stop startx from removing the dbus variable from the environment. – meuh Apr 25 '18 at 19:23
0

I use startx just fine (Debian unstable + experimental). If you look at where the dbus environment variables are set (again), it's in /etc/X11/Xsession.d/20dbus_xdg-runtime. I use my own .xinitrc, and I realized a bunch of problems I had stemmed from not sourcing the scripts in /etc/X11/Xsession.d (as the default xinitrc does). Instead of trying to run dbus-update-activation-environment yourself, I would strongly recommend you source the files in /etc/X11/Xsession.d instead (they add a bunch of other things like modifying your xhost settings).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.