Abrir um executável via GUI não faz nada, embora seja possível abri-lo via terminal

1

Eu fiz um pequeno jogo Snake usando C. Mas como o título diz, quando eu abri-lo via GUI (Nemo), nada é aberto. Mas se eu abri-lo usando o terminal, ele funciona como esperado. Eu tentei em vários computadores com diferentes sistemas operacionais (Ubuntu, Mint etc), mas todos exibem o mesmo problema.

Eu também tentei clicar com o botão direito do mouse no arquivo, selecionando 'Abrir com outro aplicativo' e digitando o seguinte na caixa de texto 'Inserir comando personalizado para executar':

gnome-terminal --working-directory ~/Downloads/My\ Programs/Snake -e "/bin/bash -c './Snake && read'"

e depois tente abrir o executável. Ainda assim, nada acontece.

Mas executar o mesmo comando usando o terminal funciona perfeitamente. As permissões definidas para o arquivo executável Snake são -rwxr-xr-x e seu tipo é Program (application/x-executable) . Além disso, file dá:

$ file Snake
Snake: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=c609e53bda05544c647aab2a19aa865af6dc93c2, not stripped

Qual poderia ser o problema?

    
por Spikatrix 26.12.2016 / 14:51

1 resposta

0

Este é o mesmo resultado que você obtém quando navega no Nemo para / usr / bin e clica em bash . Certo?

Você pode colocar o comando shell que deseja executar, invocando o gnome-terminal, em um script de shell .

(Nada específico para ele ser um shell script. Você também pode codificar como isatty(STDERR) || execlp("gnome-terminal", "--working-directory", ...); ).

Não há uma ponte mais padrão entre a GUI e os aplicativos do terminal. Se você quiser compactar isso como um aplicativo para a GUI, é necessário construir seu próprio wrapper de GUI. Não há como executar um genérico emulador de terminal .

A execução de arquivos executáveis a partir do navegador de arquivos não é universalmente considerada uma ótima ideia. (Gnome Files não tem mais). Seu navegador de arquivos pode ou não suportar também a execução de arquivos .desktop (ou seja, sem instalá-los no menu / lançador do aplicativo da área de trabalho). Nenhum destes é excelente para segurança, por ex. se um arquivo executável em um dispositivo removível puder definir um ícone personalizado para se parecer com um documento do Word.

    
por 08.01.2017 / 11:52