Steam for Linux > Limited Beta > 主题详情
pierre 2012年11月15日下午1:29
Issue Report: missing gksu dependency
$ steam
Setting up steam platform in /home/pierre/Steam
/usr/bin/steam: line 19: gksudo: command not found
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
X Error of failed request: BadName (named color or font does not exist)
Major opcode of failed request: 45 (X_OpenFont)
Serial number of failed request: 12
Current serial number in output stream: 13
正在显示第 1 - 10 条,共 10 条留言
< >
Frank 2012年11月15日下午1:40 
pierre, could you provide more information such as the distribution and desktop environment you're using? In addition, is this reproducible?
ruff 2012年11月15日下午1:58 
Well, yes, it has hardcoded privilege escalator which is definitely bad.
Although if you install steam using conventional method which pulls all deps it (gksudo) won't be called (what happened in my case). But it doesn't change the fact that script is weak. At least fallback to something like
if non interactive shell
x-terminal-emulator and
echo message
if have sudo
sudo command
else
ask to install prereqs as root

Adding gksudo to prereqs just to satisfy installer script wrong behaviour is a poor solution.
ruff 2012年11月15日下午2:09 
Frank,
This is I believe common issue, at least i see hardcoded gksudo in deb packaged steam installer
ruff@box:~/co$ grep -n gksudo /usr/bin/steam
18: # Call gksudo to actually do the work
19: gksudo --disable-grab --message "$MESSAGE" apt-get install $NEEDSINSTALL
ruff@box:~/co$ dpkg-query -S `which steam`
steam: /usr/bin/steam
pierre 2012年11月15日下午2:20 
I am not using ubuntu-desktop, if that's the question you're asking :)
But I don't see why it wouldn't be reproductible on any system which doesn't have gksu installed: there's nothing pulling gksu in the steam dependency chain.
sergey.khalavchuk 2012年11月24日上午2:32 
Confirm this issue on kde-based dektop installation (kubuntu 12.04), on each steam launch i get:

/home/user/Steam/steam.sh: line 132: gksudo: command not found

"gksudo" is missing, "kdesudo" should be used instead.
I think script should detect which "sudo" is available.
最后由 sergey.khalavchuk 编辑于; 2012年11月24日上午2:34
Frank 2012年11月30日下午2:42 
The more information, the better pierre. We'll look into it.
blackout24 2012年11月30日下午2:50 
I also noticed that xterm is used in ~/Steam/steam.sh which might not be installed by default since most use their DEs Terminal. Is there something like $EDITOR for terminals? So you could just call that and don't worry about people using gnome-terminal, Terminal, urxvt, xterm, Terminator, konsole... Have I missed any? Linux needs more terminal emulators.
ThOR27 2012年11月30日下午4:41 
I've already developped some scripts that detect the desktop you're using and call the correct dialog window (kdialog/zenity with gdialog/xdialog/dialog) or calls correct terminal emulator available on the system if needed (konsole/gnome-terminal/xterm) and calls correct su/sudo solution kdesu/gksu/sudo on terminal.

It makes everything more crossplatform, they where all GPL, not sure if can be added to steam package by the way, but worked fine.

cross distro shellscript are really hard to do since is something that most of the time depends on external tools, I've already made a lot of this... :P
Raoul Snyman 2012年12月9日上午11:17 
I also saw this. Changed steam.sh to use "... kdesudo --comment ..." instead, and then Steam was able to upgrade itself and do everything else as per usual.

Edit:
I'm using Kubuntu 12.10 64-bit, no other problems.
最后由 Raoul Snyman 编辑于; 2012年12月9日上午11:18
Recoil_84 2012年12月9日下午7:04 
Fedora is another distro which doesn't provide gksudo (it's not even installable from the repos)
正在显示第 1 - 10 条,共 10 条留言
< >
每页显示数: 15 30 50
发帖日期: 2012年11月15日下午1:29
帖子数: 10