[systemd-devel] [help][227] Enabling a user service breaks a little my system!

Jorge Araya Navarro elcorreo at deshackra.com
Wed Nov 25 22:33:40 PST 2015


Hello!

I'm suffering a issue with systemd's user services that I fixed only with a workaround, but today I
want to fix this issue completely.

I have created a user service which starts GNU Emacs, and another user service which starts GNU
Screen[1], and enabled both.

After rebooting my machine and login into my account, I get a pop up asking me to unlock my keyring,
when it should be unlocked automatically after I login.

Also, opening a shell and entering `systemctl --user` outputs the error:

--8<---------------cut here---------------start------------->8---
$ LC_ALL=C systemctl --user
Failed to connect to bus: No such file or directory
--8<---------------cut here---------------end--------------->8---

However, this is not the case if I enter the command on GNU Screen (which was started by systemd as
a user service). I have absolutely no idea why that happens.

Finally, there are some environment variables I need for my configuration work properly. For
instance, I issue:

--8<---------------cut here---------------start------------->8---
$ systemctl --user import-environment SSH_AUTH_SOCK
--8<---------------cut here---------------end--------------->8---

`SSH_AUTH_SOCK` is set and exported when my window manager executes the `.xprofile` file.
The variable don't seems to be imported:

--8<---------------cut here---------------start------------->8---
$ systemctl --user show-environment
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DISPLAY=:0
HOME=/home/jorge
LANG=es_CR.utf8
LC_ADDRESS=es_CR.utf8
LC_COLLATE=es_CR.utf8
LC_CTYPE=es_CR.utf8
LC_IDENTIFICATION=es_CR.utf8
LC_MEASUREMENT=es_CR.utf8
LC_MESSAGES=es_CR.utf8
LC_MONETARY=es_CR.utf8
LC_NAME=es_CR.utf8
LC_NUMERIC=es_CR.utf8
LC_PAPER=es_CR.utf8
LC_TELEPHONE=es_CR.utf8
LC_TIME=es_CR.utf8
LOGNAME=jorge
MAIL=/var/spool/mail/jorge
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
SHELL=/usr/bin/zsh
USER=jorge
XDG_RUNTIME_DIR=/run/user/1000
--8<---------------cut here---------------end--------------->8---

Note: I don't use GDM but LightDM.

[1]: This makes no sense, I know, I should put such service in `/etc/systemd/system/` and enable it
as screen at myusername. I'll make this transition as soon as I solve my problem with systemd and
environment variables.
-- 
👋 Pax et bonum.
Jorge Araya Navarro
https://es.gravatar.com/shackra


More information about the systemd-devel mailing list