protonscr

Steam fails to start, with no error message, if an X display is not available

steamopen reviewed
ValveSoftware/steam-for-linux#3836 · opened 2015-05-06 by InfernoZeus · updated 2018-08-17 · 0 comments · github
IInfernoZeus 2015-05-06 github

If an X display is not available, Steam fails to start without any error messages. The is caused by Steam trying to use Zenity to show the License Agreement, which obviously fails, but the failure message (zenity:700): Gtk-WARNING **: cannot open display: isn't recognized, which causes the script to think the user declined the license. It then quits without any message.

Steam probably shouldn't even get that far, and should check sometime before that if an X display/session is present.

Here's a debug log:

steam@34cfe1cf5a0f:~$ STEAM_DEBUG=1 /usr/bin/steam
+ export TEXTDOMAIN=steam
+ TEXTDOMAIN=steam
+ export TEXTDOMAINDIR=/usr/share/locale
+ TEXTDOMAINDIR=/usr/share/locale
+ ARCHIVE_EXT=tar.xz
++ cd /home/steam/.local/share/Steam
++ echo /home/steam/.local/share/Steam
+ STEAMROOT=/home/steam/.local/share/Steam
+ STEAMDATA=/home/steam/.local/share/Steam
+ '[' -z ']'
++ basename /home/steam/.local/share/Steam/steam.sh .sh
+ STEAMEXE=steam
+ '[' steam = steamcmd ']'
+ cd /home/steam/.local/share/Steam
+ MINIMUM_STEAMSCRIPT_VERSION=100020
+ export SYSTEM_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ SYSTEM_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ export SYSTEM_LD_LIBRARY_PATH=
+ SYSTEM_LD_LIBRARY_PATH=
++ uname
+ UNAME=Linux
+ '[' Linux '!=' Linux ']'
++ detect_platform
++ platform=ubuntu12_32
++ case "$(detect_distro)-$(detect_release)" in
+++ detect_distro
+++ '[' -f /etc/lsb-release ']'
+++ . /etc/lsb-release
++++ DISTRIB_ID=SteamOS
++++ DISTRIB_RELEASE=1.0
++++ DISTRIB_CODENAME=alchemist
++++ DISTRIB_DESCRIPTION='SteamOS 1.0'
+++ echo SteamOS
+++ tr '[A-Z]' '[a-z]'
+++ detect_release
+++ '[' -f /etc/lsb-release ']'
+++ . /etc/lsb-release
++++ DISTRIB_ID=SteamOS
++++ DISTRIB_RELEASE=1.0
++++ DISTRIB_CODENAME=alchemist
++++ DISTRIB_DESCRIPTION='SteamOS 1.0'
+++ echo 1.0
++ echo ubuntu12_32
+ PLATFORM=ubuntu12_32
++ echo ubuntu12_32
++ fgrep 32
+ PLATFORM32=ubuntu12_32
++ echo ubuntu12_32
++ fgrep 64
+ PLATFORM64=
+ '[' -z ubuntu12_32 ']'
+ '[' -z '' ']'
++ echo ubuntu12_32
++ sed s/32/64/
+ PLATFORM64=ubuntu12_64
+ STEAMEXEPATH=ubuntu12_32/steam
+ STEAMCONFIG=/home/steam/.steam
+ PIDFILE=/home/steam/.steam/steam.pid
+ STEAMBIN32LINK=/home/steam/.steam/bin32
+ STEAMBIN64LINK=/home/steam/.steam/bin64
+ STEAMSDK32LINK=/home/steam/.steam/sdk32
+ STEAMSDK64LINK=/home/steam/.steam/sdk64
+ STEAMROOTLINK=/home/steam/.steam/root
++ detect_steamdatalink
++ '[' -f /home/steam/.local/share/Steam/steam_dev.cfg ']'
+++ detect_package
+++ case `detect_universe` in
++++ detect_universe
++++ test -f /home/steam/.local/share/Steam/Steam.cfg
++++ test -f /home/steam/.local/share/Steam/steam.cfg
++++ STEAMUNIVERSE=Public
++++ echo Public
+++ STEAMPACKAGE=steam
+++ echo steam
++ STEAMDATALINK=/home/steam/.steam/steam
++ echo /home/steam/.steam/steam
+ STEAMDATALINK=/home/steam/.steam/steam
+ STEAMSTARTING=/home/steam/.steam/starting
+ steamos_arg
+ return 1
+ '[' '!' -f /home/steam/.steam/steam.pid ']'
+ INITIAL_LAUNCH=true
+ '[' '' = --reset ']'
+ '[' true ']'
+ show_license_agreement
+ LICENSE=/home/steam/.local/share/Steam/steam_install_agreement.txt
+ '[' '!' -f /home/steam/.steam/steam_install_agreement.txt ']'
+ '[' '!' -f /home/steam/.local/share/Steam/steam_install_agreement.txt ']'
+++ detect_package
+++ case `detect_universe` in
++++ detect_universe
++++ test -f /home/steam/.local/share/Steam/Steam.cfg
++++ test -f /home/steam/.local/share/Steam/steam.cfg
++++ STEAMUNIVERSE=Public
++++ echo Public
+++ STEAMPACKAGE=steam
+++ echo steam
++ find -L /home/steam/.steam/steam -name sharedconfig.vdf -exec fgrep SSAVersion '{}' ';'
+ SSAVersion=
+ '[' '' '!=' '' ']'
+ answer=declined
++ zenity --width 650 --height 500 --text-info '--title=Steam Install Agreement' --filename=/home/steam/.local/share/Steam/steam_install_agreement.txt '--checkbox=I have read and accept these terms.'
+ output='
(zenity:700): Gtk-WARNING **: cannot open display: '
+ STATUS=1
+ echo '(zenity:700):' Gtk-WARNING '**:' cannot open display:
+ grep 'status 1:'
+ case $STATUS in
+ '[' declined '!=' accepted ']'
+ exit 0

Nothing extracted yet.