[Unit] Description = Firefox # Requires=ioslay@%I # Requires=pulseaudio.socket # require X11 somehow ConditionUser = !root # seems reasonable ConditionEnvironment = DISPLAY [Service] ExecStartPre = /usr/bin/systemctl --user start ioslay@%I ExecStart = /usr/local/bin/firefox --new-instance --display=%I ExecStopPost = /usr/bin/systemctl --user stop ioslay@%I Restart = on-failure PassEnvironment = DISPLAY XAUTHORITY MemoryMax = 50% [Install] Also=ioslay@.service WantedBy = default.target # make an X11 user target?