I've written a package to run steam standalone; https://aur.archlinux.org/packages/steam-standalone/
which seems to work reasonably well (launching with systemctl start steam-standalone). I'd prefer to be moving all of this into systemd --user, but am waiting on dbus activation.
The HTPC I run is launching xbmc on startup, and I want to be able to switch to steam from within xbmc.
I've written another package; https://aur.archlinux.org/packages/xbmc … -launcher/
The main switching service is;
[Unit] Description=switch from xbmc-standalone to steam-standalone After=network.target BindsTo=steam-standalone.service Conflicts=xbmc.service [Service] RemainAfterExit=yes Type=oneshot ExecStart=/usr/bin/sleep 2 ExecStopPost=/usr/bin/systemctl start xbmc.service
However there is issues with the timing. steam-standalone.service is being launched before xbmc.service has fully closed (which prevents steam-standalone from starting an x session)
One way to fix this would be to introduce some sleep in ExecStartPre within steam-standalone (but would prefer to avoid this)
Another might be to add some kind of wait/check in ExecStartPre within steam-standalone to startx when appropriate
However I would prefer to just be able to delay the BindsTo?
I'm using BindsTo such that when steam-standalone does exit (steam closed internally) steam-switcher.service is also ended, such that ExecStopPost is called.