General advice for this sort of problem
If that doesn't work, try changing the
Path line so it specifies whatever directory you're in when you run the program in the Terminal. Assuming you're in your home directory, the line would become
aberration is replaced by your username on your Ubuntu system (if different).
If that doesn't work either, then please open the file called
.xsession-errors located in your home directory (in PCManFM you'll have to press Ctrl+H or click
Show Hidden to make this and other files that start with
. appear), select its entire contents, copy it to the clipboard, paste it at the Ubuntu Pastebin, and edit your question to include the URL for it. Make sure that you have attempted to run the game from the LXDE menus very shortly before opening
.xsession-errors so that messages pertaining to the failure are likely to appear near the end of the file.
Advice specific to the error in .xsession_errors and the script's specific contents
It seems likely that your suspicion is correct; that is, that when the script is run from LXPanel, the test for whether or not your architecture is 64-bit is not working properly. I am not sure exactly what is going wrong. But since the script does not have a leading hashbang line (i.e., a line starting with
#! followed immediately by the full path to the program that is to act as the script's interpreter), it is probably being run by a different shell when you run it from LXPanel than when you run it from
bash in LXTerminal. When you run it from LXPanel, it is probably being run by the default shell (
/bin/sh, which is a symbolic link to the
dash shell), whereas when you run it from within
bash in LXTerminal, it is being run by
bash. The script uses some unusual syntax that I am not familiar with, which might reflect that my scripting knowledge is a bit rusty, but might be because I write scripts for
dash rather than
I recommend that you back up the script (
sudo cp /opt/gish/gi.sh /opt/gish/gi.sh.old) and then try editing it by adding the line
#!/bin/bash to the very top, to make it run with
bash. Then see if it runs properly.
If it does, then I recommend submitting a bug report to the creators of
gi.sh. (I am guessing this is not an Ubuntu package, since it is installed in
/opt, so you'll have to check if the project has its own bug reporting guidelines first.) While the fix detailed above is appropriate for Ubuntu, a fix likely to work properly on a wider variety of Unix-like systems (Linux-based and otherwise) would be to use
#!/usr/bin/env bash rather than
env is in
/usr/bin significantly more often than
bash is in
/bin. (The authors should also be aware that
bash is not present on all Unix-like systems, so if Gish is intended to run on systems that are likely not to have
bash and it doesn't otherwise require
bash, they might want to edit the script.) And either way, a script that requires
bash should not be suffixed
.sh, but should instead be suffixed
.bash (or not at all).
If that change does not make the script run properly, then it's still worth checking to see if the problem was that the 32-bit version of Gish was running instead of the 64-bit version. So you can make a new
.desktop file with the contents:
Running from that
.desktop file--assuming it works--should confirm that the problem is that the wrong executable is being run (and should also work around the problem for you, so you can run Gish from LXPanel).