Conselhos gerais para esse tipo de problema
Tente alterar Exec=/opt/gish/gi.sh para Exec=sh /opt/gish/gi.sh .
Se isso não funcionar, tente alterar a linha Path para especificar o diretório em que você está quando executar o programa no Terminal. Supondo que você esteja em seu diretório home, a linha se tornará Path=/home/aberration , onde aberration é substituído por seu nome de usuário em seu sistema Ubuntu (se diferente).
Se isso não funcionar, abra o arquivo chamado .xsession-errors localizado no seu diretório pessoal (no PCManFM você terá que pressionar Ctrl + H ou clique em View > Show Hidden para fazer este e outros arquivos que começam com . aparecerem, selecione todo o seu conteúdo, copie-o para a área de transferência, cole-o no diretório Ubuntu Pastebin e edite sua pergunta para incluir o URL dela. Certifique-se de ter tentado executar o jogo nos menus do LXDE muito pouco antes de abrir .xsession-errors , de forma que as mensagens relacionadas à falha provavelmente apareçam perto do final do arquivo.
Conselho específico para o erro em .xsession_errors e o conteúdo específico do script
Parece provável que sua suspeita esteja correta; ou seja, quando o script é executado a partir do LXPanel, o teste para saber se sua arquitetura é de 64 bits não está funcionando corretamente. Eu não tenho certeza exatamente o que está errado. Mas como o script não tem uma linha de hashbang principal (isto é, uma linha começando com #! seguida imediatamente pelo caminho completo para o programa que deve atuar como o interpretador do script), ele provavelmente está sendo executado por um shell diferente quando você o executa a partir do LXPanel do que quando o executa a partir de bash no LXTerminal. Quando você o executa do LXPanel, ele provavelmente está sendo executado pelo shell padrão ( /bin/sh , que é um link simbólico para o dash shell), enquanto quando você o executa de dentro de bash no LXTerminal, ele está sendo executado por bash . O script usa algumas sintaxes incomuns com as quais não estou familiarizado, o que pode refletir que meu conhecimento de script está um pouco enferrujado, mas pode ser porque eu escrevo scripts para sh / dash em vez de bash .
Eu recomendo que você faça o backup do script ( sudo cp /opt/gish/gi.sh /opt/gish/gi.sh.old ) e, em seguida, tente editá-lo adicionando a linha #!/bin/bash ao topo, para torná-lo executado com bash . Então veja se ele funciona corretamente.
Se isso acontecer, recomendo enviar um relatório de bug para os criadores de gi.sh . (Eu estou supondo que este não é um pacote Ubuntu, já que está instalado em /opt , então você terá que verificar se o projeto tem suas próprias diretrizes de relatório de erros primeiro.) Embora a correção detalhada acima seja apropriada para o Ubuntu, O conserto provável de funcionar adequadamente em uma variedade maior de sistemas semelhantes ao Unix (com base no Linux e outros) seria usar #!/usr/bin/env bash em vez de #!/bin/bash , pois env está em /usr/bin significativamente mais do que bash em código%. (Os autores também devem estar cientes de que /bin não está presente em todos os sistemas semelhantes ao Unix, portanto, se o Gish tiver a intenção de rodar em sistemas que provavelmente não têm bash e não requerer bash , eles podem querer editar o script.) E, de qualquer forma, um script que requer bash não deve ter o sufixo bash , mas deve ter o sufixo .sh (ou nenhum).
Se essa alteração não fizer o script ser executado corretamente, ainda será recomendável verificar se o problema é que a versão de 32 bits do Gish estava em execução, em vez da versão de 64 bits. Então você pode criar um novo arquivo .bash com o conteúdo:
[Desktop Entry]
Categories=Game;ActionGame;AdventureGame;ArcadeGame;
Exec=/opt/gish/gish_64
Path=/opt/gish
Icon=x-gish
Terminal=false
Type=Application
Name=Gish
A execução desse arquivo .desktop - supondo que ele funcione - deve confirmar que o problema é que o executável incorreto está sendo executado (e também deve contornar o problema para você, assim você pode executar o Gish do LXPanel).