Very similar problem here. Steam has been running fine on my OpenSUSE 13.2 x64 system, until today's update. Now I get:
/home/ryan/.local/share/Steam/steam.sh: line 146: DISTRIB_ID: unbound variable
/home/ryan/.local/share/Steam/steam.sh: line 160: DISTRIB_RELEASE: unbound variable
/home/ryan/.local/share/Steam/steam.sh: line 146: DISTRIB_ID: unbound variable
/home/ryan/.local/share/Steam/steam.sh: line 160: DISTRIB_RELEASE: unbound variable
Running Steam on 64-bit
/home/ryan/.local/share/Steam/steam.sh: line 146: DISTRIB_ID: unbound variable
/home/ryan/.local/share/Steam/steam.sh: line 160: DISTRIB_RELEASE: unbound variable
STEAM_RUNTIME is enabled automatically
/home/ryan/.local/share/Steam/steam.sh: line 346: no match: /home/ryan/.local/share/Steam/ubuntu12_32/steam-runtime.tar.xz.part*
I too, tried reinstalling steam to no avail.
Actually I had linked ~./local/ to ~/dotfiles/Default Applications/.local/, I removed this soft link and reinstalled steam, it works, although I have to download Dota 2 again.
In my case, the first problem is that although openSUSE has an /etc/lsb-release file, it doesn't contain the variables $DISTRIB_ID or $DISTRIB_RELEASE
> cat /etc/lsb-release
LSB_VERSION="core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-x86_64:core-3.2-x86_64:core-4.0-x86_64"
I was able to get rid of those errors by editing lines 146 and 160 of steam.sh to remove the step where it checks for /etc/lsb-release.
Before:
function detect_distro()
{
if [ -f /etc/lsb-release ]; then
(. /etc/lsb-release; echo $DISTRIB_ID | tr '[A-Z]' '[a-z]')
elif [ -f /etc/os-release ]; then
(. /etc/os-release; echo $ID | tr '[A-Z]' '[a-z]')
elif [ -f /etc/debian_version ]; then
echo "debian"
else
# Generic fallback
uname -s
fi
}
function detect_release()
{
if [ -f /etc/lsb-release ]; then
(. /etc/lsb-release; echo $DISTRIB_RELEASE)
elif [ -f /etc/os-release ]; then
(. /etc/os-release; echo $VERSION_ID)
elif [ -f /etc/debian_version ]; then
cat /etc/debian_version
else
# Generic fallback
uname -r
fi
}
After:
function detect_distro()
{
if [ -f /etc/os-release ]; then
(. /etc/os-release; echo $ID | tr '[A-Z]' '[a-z]')
elif [ -f /etc/debian_version ]; then
echo "debian"
else
# Generic fallback
uname -s
fi
}
function detect_release()
{
if [ -f /etc/os-release ]; then
(. /etc/os-release; echo $VERSION_ID)
elif [ -f /etc/debian_version ]; then
cat /etc/debian_version
else
# Generic fallback
uname -r
fi
}
Sadly, I'm still stuck with the other errors. Here's the new terminal output:
Running Steam on opensuse 13.2 64-bit
STEAM_RUNTIME is enabled automatically
/home/ryan/.local/share/Steam/steam.sh: line 343: no match: /home/ryan/.local/share/Steam/ubuntu12_32/steam-runtime.tar.xz.part*
Update: I was able to get steam working by navigating to ~/.local/share/Steam/ubuntu12_32 and executing
./steam
I had to run it twice. The first time it got stuck "checking for updates" and the second time it actually applied an update and launched properly.
Note that applying this update appeared to undo the changes to steam.sh that I made above. I still see the $DISTRIB_ID and $DISTRIB_RELEASE errors at the terminal, but they don't prevent steam from starting anymore.
Hope this helps someone else.
For me it only bugs if I use steam with STEAM_RUNTIME=1 exported. It may be a workaround.
just put the following 2 lines in your .bashrc:
export DISTRIB_ID=your-distro
export DISTRIB_RELEASE=version-number
for instance, on a opensuse 13.2 box you'd say
export DISTRIB_ID=opensuse
export DISTRIB_RELEASE=13.2
afterwards, do a 'source ~/.bashrc' and fire up steam.
@rkoot Sure, but those functions are clearly silly if their entire purpose is to detect distro and they do not on a major one. Note according to docs those fields are optional, so steam should check to see if they are present. If not move on to next method for identifying distro.
Optional fields are DISTRIB_ID, DISTRIB_RELEASE, DISTRIB_CODENAME, DISTRIB_DESCRIPTION and can be used to override information which is parsed from the "/etc/distrib-release" file.
Note that the instant you start steam it changes that script back (ie updates) and then runs the original version.
I can confirm the suggested fix works at detecting openSUSE Tumbleweed as well. For posterity (although a better check would be to see if $DISTRIB_* variables are present in lsb-release).
--- steam.sh 2015-11-04 01:18:04.822977197 -0600
+++ steam.sh 2015-11-04 01:18:04.822977197 -0600
@@ -141,9 +141,7 @@
function detect_distro()
{
- if [ -f /etc/lsb-release ]; then
- (. /etc/lsb-release; echo $DISTRIB_ID | tr '[A-Z]' '[a-z]')
- elif [ -f /etc/os-release ]; then
+ if [ -f /etc/os-release ]; then
(. /etc/os-release; echo $ID | tr '[A-Z]' '[a-z]')
elif [ -f /etc/debian_version ]; then
echo "debian"
@@ -155,9 +153,7 @@
function detect_release()
{
- if [ -f /etc/lsb-release ]; then
- (. /etc/lsb-release; echo $DISTRIB_RELEASE)
- elif [ -f /etc/os-release ]; then
+ if [ -f /etc/os-release ]; then
(. /etc/os-release; echo $VERSION_ID)
elif [ -f /etc/debian_version ]; then
cat /etc/debian_version
Updated openSUSE to include the optional fields since it seems unlikely Steam will change it.
https://build.opensuse.org/request/show/342353
It's a shame issues as dead-simple as these persist to this day. Leave it to Valve...
To be clear this "fix" was reverted.
How about much simpler approach:
if which lsb_release >/dev/null; then
lsb_release -rs
elif ...
and similarly using lsb_release -is in detect_distro () function.
I don't think the one is supposed to be messing manually with lsb-release, os-release, debian_release, ubuntu_release, etc
I'm getting 'VERSION_ID: unbound variable' message in log too on Gentoo Linux, although Steam itself looks running fine.
I'm getting VERSION_ID: unbounded variable on Void linux
Same thing here on Void Linux. Adding the value it wants does nothing.
I'm getting 'VERSION_ID: unbound variable' message in log too on Gentoo Linux, although Steam itself looks running fine.
Same for me. I get that error when I start steam but it operates fine. Seems like whatever defaults it falls back to works for us.
Nothing extracted yet.
After an update today, I can not launch Steam suddenly, no window, no tray.
I tried launched Steam in the terminal, it returns:
Arch Linux, steam-1.0.0.49-2, I have reinstall it, no work.