the Steam client won’t launch anymore. I tried reinstalling, but that doesn’t seem to fix it.
When I try to launch Steam using the terminal, I get the following:
/usr/lib/steam/steam: line 313: exec: /home/os/.local/share/Steam/steam.sh: cannot execute: Exec format error
Ok, looking at the files installed in the package /usr/lib/steam/steam is included. However the files in /home/ are not so I presume they’re created once you launch steam. Have you moved or deleted any files in your home folder? Particularly anything in /home/os/.local? If you have (or perhaps even if you haven’t) do you have a backup or is there anything in wastebasket?
Steam also do invisible client background updates, it download’s updates for the steam client automatical and execute the next time you start Steam again.
My weak guess… it could be related to a corrupted update, while the download happen and you may have a broken client update from that.
Do you have a snapshot from /home/USER/.local/share/Steam/ which you could restore?
Don’t forget to create a backup from your latest savegames from Steam/userdata if you thinking about to overwrite or reinstall Steam.
Can be a broken Steam install. You can reset it with following script without loosing any game installs:
#!/usr/bin/bash
STEAMPATH="$HOME/.local/share/Steam"
# Get a list of the contents of steams top level directory except a list of folders/files we can skip to avoid losing data
STEAMFILES=$(ls ~/.local/share/Steam/ | grep -vP "(userdata|compatibilitytools\.d|config|controller_base|steamapps|music)")
echo "This script will remove a bunch of files from $STEAMPATH and sign you out of steam!"
echo "However your games, music, saves, controller profiles and compatibilitytools/custom-proton will not be touched."
echo "To cancel and abort this operation press CTRL+C now, to continue press ENTER."
read i
killall -9 steam
sleep 1
echo "Resetting Steam to a freshly installed state."
# Loop through each file and process it
for STEAMFILE in $STEAMFILES
do
if [ -d "$STEAMPATH/$STEAMFILE" ]; then
rm -rv "$STEAMPATH/$STEAMFILE"
elif [ -f "$STEAMPATH/$STEAMFILE" ]; then
rm -v "$STEAMPATH/$STEAMFILE"
fi
done
sleep 1
steam &
exit 0