SteamOS
SteamOS copied to clipboard
Feature request: execute user specified scripts before Steam startup
I would like to execute some user scripts on SteamOS BEFORE Steam is started.
The purpose of this is to be able to add non-Steam shortcuts and make other configuration adjustments automatically, such as assign specific Proton versions or set launch commands on games. These changes cannot be made while Steam is running.
Ideally, the session would run any script contained in a specific directory so that many different applications could easily take advantage of this functionality without conflicting with each other.
For example, the session could run any script under /home/deck/.config/startup.d/
.
Hi, you can already run things on startup by putting them on ~/.config/autostart
, see here: https://wiki.archlinux.org/title/XDG_Autostart
If you want to have finer control about the order in which things are started you can create a systemd unit file, see here for details: https://wiki.archlinux.org/title/Systemd/User#Writing_user_units
Hi, you can already run things on startup by putting them on
~/.config/autostart
, see here: https://wiki.archlinux.org/title/XDG_AutostartIf you want to have finer control about the order in which things are started you can create a systemd unit file, see here for details: https://wiki.archlinux.org/title/Systemd/User#Writing_user_units
Thanks, but neither of these solve the problem because we need to ensure the scripts run before Steam does.
However, I noticed that /etc is writable if you have an admin password, so I might be able to create a system level one shot service. It might be tricky to have the scripts run after the network is up but before Steam runs, and have it gracefully fail when offline. Which is the reason I had discounted using a system service for this in the past.
Thanks, but neither of these solve the problem because we need to ensure the scripts run before Steam does.
systemd allows you to specify the order in which services are started, see for example the Before
and After
options here https://www.freedesktop.org/software/systemd/man/systemd.unit.html
Thanks, but neither of these solve the problem because we need to ensure the scripts run before Steam does.
systemd allows you to specify the order in which services are started, see for example the
Before
andAfter
options here https://www.freedesktop.org/software/systemd/man/systemd.unit.html
Yes, but all user units will have naturally started after the Steam session does. But using a system service instead of a user service should be doable.