compilar e executar executáveis C ++ do navegador ubuntu

0

Eu tenho uma pergunta Posso executar um executável linux do Ubuntu (não da linha de comando do linux)? Eu criei um arquivo demo.c ”na linha de comando e então compilei (então consertei os bugs e depois compilei novamente) para o executável“ demo ”. Compila, executa e fornece os resultados corretos a partir da linha de comando. Eu fiz um chmod + x apenas para ter certeza de que tinha as permissões certas. Voltei para o Ubuntu foi para arquivos e pastas, documentos, casa, "demo", propriedades, permissões e fez com que a caixa "permitir" foi verificada. Então, de volta para casa, cliquei direito em "demo" e clicou em executar. Sem alegria. Eu verifiquei a linha de comando para ver se talvez tivesse corrido lá. Mais uma vez sem alegria. Se alguém puder me dizer como executar um executável no Ubuntu, agora tenho outra pergunta.    Minha próxima pergunta é se eu posso rodar a partir do Ubuntu também posso compilar a partir do Ubuntu? Obrigado pelo seu tempo e trabalho. mbsailor

    
por MB Sailor 10.07.2016 / 00:15

1 resposta

2

A menos que seu programa esteja chamando algum tipo de popup GUI para aparecer, ele tentará imprimir em um terminal. Normalmente, os programas esperam que stdout (fluxo de saída) esteja presente. Então, o que acontece é que seu comando é executado muito bem, o navegador Nautilus chama o shell para iniciar seu programa, mas não há nenhum lugar para esse programa imprimir.

Você pode passar por um problema ao criar uma entrada personalizada no menu Run as , ou aqui está uma solução mais simples:

Abra o editor de texto e faça este arquivo ~/.local/share/applications/run_executable.desktop ( NOTE ~ significa que seu diretório /home/username e .local é uma pasta oculta) com o seguinte conteúdo:

[Desktop Entry]
Type=Application
Name=RunExecs
Exec=gnome-terminal -e 'bash -c "%u; read"'
Terminal=true

Agora abra o gerenciador de arquivos e arraste esse novo arquivo para o lançador. Uma vez que você tenha este ícone no lançador, você pode simplesmente arrastar e soltar seu código C compilado, ele irá abrir gnome-terminal e executá-lo. Eu tenho essa mesma configuração exata no Ubuntu 16.04, sem problemas detectados com isso até agora.

Você pode tentar adicionar esse arquivo como opção de clique direito ao gerenciador de arquivos, como é mostrado em este artigo, mas pode ser um pouco datado, e eu pessoalmente nunca o testei, então ele não pode recomendar ou não

Editar

O que eu também aprendi ontem com resposta de Jacob Vlijm é que você pode adicionar scripts personalizados ao nautilus. Por exemplo, crie o arquivo /home/user/.local/share/nautilus/scripts/run_executable.sh com este conteúdo:

#!/bin/bash
FILE=$(readlink -e "$@")
echo "$FILE"
if [ -n "$FILE" ] ; then
   gnome-terminal -x bash -c '"$@";read' bash $FILE
fi

Verifique se ele tem permissões executáveis, fazendo chmod +x ~/.local/share/nautilus/scripts/run_executable.sh e reinicie o nautilus, se necessário. Depois disso, você pode clicar com o botão direito em qualquer arquivo executável e terá a opção scripts -> run_executable.sh .

Observe que esta pergunta é sobre ambos, compilação e execução. Não vou abordar a compilação, porque a compilação geralmente requer o fornecimento de opções ao compilador manualmente, como nos casos em que as bibliotecas precisam ser vinculadas. Se o usuário assim desejar, eles podem modificar meus scripts, mas eu aconselho não adicionar uma opção de compilação e ficar apenas com a opção de execução

    
por Sergiy Kolodyazhnyy 10.07.2016 / 01:12