On Tue, Aug 6, 2019 at 10:08 PM Matt Zagrabelny <mzagr...@d.umn.edu> wrote:
> Greetings, > > I am trying to write a service file for a tool called devilspie2. > > % systemctl --user cat devilspie.service > # /home/mzagrabe/.config/systemd/user/devilspie.service > [Unit] > Description=devilspie > > [Service] > ExecStart=/usr/bin/devilspie2 > > [Install] > WantedBy=default.target > > which I enabled via: > > % systemctl --user enable devilspie.service > > but it is not successfully starting on boot/login: > > It looks like devilspie2 does not successfully start under a user systemd > instance due to "cannot open display". > > Since I log in via lightdm I am wondering what I am missing. > Well, "on boot/login" actually happens before the X display (Xorg) is launched. Even without linger mode, the --user default.target is started before the session processes themselves (it's done right after lightdm does the password check, more or less); at that point in time --user doesn't know your $DISPLAY or $XAUTHORITY yet, and there's no Xorg yet anyway – there's no display to open. > > Any ideas or pointers on how to properly start devilspie2 under a user > systemd instance? > Remove it from default.target and place a `systemctl --user start devilspie2` in your session's normal autostart files (e.g. ~/.config/autostart/*.desktop for GNOME). -- Mantas Mikulėnas
_______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel