Os arquivos não serão executados como programas [duplicados]

0

Depois de ler uma resposta sobre como faz um arquivo executar um comando no terminal quando executado , eu tentei fazer isso sozinho.

Eu fiz um novo documento, digitei o seguinte e salvei.

#! /bin/bash

echo "this is a test"

Em seguida, fui para Right-Click > Properties > Permissions e selecionei "Permitir a execução do arquivo como programa".

No entanto, quando eu clico duas vezes no documento, ele simplesmente abre no meu editor de texto (que eu acredito ser o gedit). No menu do botão direito, não vejo opções para executar o arquivo no terminal.

Eu tentei fazer isso com outros arquivos também. Por exemplo, eu instalei o WINE e tentei instalar o programa do Windows. WINE disse para simplesmente executar o instalador, mas nada iria acontecer quando eu tentei. Eu marquei para funcionar como um programa e ainda assim não funcionaria. Eu só poderia instalá-lo por Right-Click > OpenWith e selecionando WINE.

Curiosamente, eu copiei minha pasta Portable Keepass-2.28 da minha partição do Windows para minha partição Ubuntu e tentei executar o executável. Keepass disparou, apesar de eu não ter marcado o arquivo para ser executado como um programa. Eu tenho Keepass 2.25 do repositório instalado no meu sistema, se isso faz a diferença.

Estou executando o Ubuntu 14.04 em uma configuração de inicialização dupla por várias semanas. A única coisa que eu posso entender que eu faria isso seria bagunçar isso é que eu usei o Gerenciador de Pacotes Synaptic para remover um pacote de KDE Desktop Environment em uma tentativa de desinstalar um ambiente de desktop alternativo que eu instalei através do terminal. Eu não lembro qual era o pacote, mas o único pacote nessa categoria agora é appmenu-qt5 . Tanto quanto eu posso dizer, a remoção desse pacote não afetou nada, e eu tenho certeza que tive problemas com a execução de arquivos como programas desde que eu tenho o meu Ubuntu.

EDIT: Eu verifiquei, e eu não acho que esta questão é uma duplicata de esta questão . Meu Ubuntu está em uma partição ext4, e é a partir daí que estou tentando executar programas. Eu também não lidei com tentar alterar as permissões através do terminal ou qualquer coisa assim, só estou tentando fazer o programa rodar quando eu marcar a opção no menu de propriedades. Por favor, corrija-me se estiver errado ou faltando alguma coisa.

    
por Trae7 13.03.2015 / 11:36

3 respostas

3

A ajuda em Right-Click > Properties > Permissions explica este comportamento:

% bl0ck_qu0te%

A ação padrão ao clicar duas vezes em um script é abri-lo no editor. Para alterar esta opção:

  1. Clique em Arquivos no Iniciador, selecione Edit > Preferences e, em seguida, a guia Comportamento:

  2. Selecioneaaçãopadrãoaoabrirumarquivodetextoexecutável:

    • Executararquivosdetextoexecutáveisquandoelessãoabertos
    • Visualizararquivosdetextoexecutáveisquandoelessãoabertos
    • Pergunteacadavez

"Perguntar a cada vez" é provavelmente a configuração correta aqui, já que você certamente não quer executar um script acidentalmente quando apenas deseja abrir um arquivo de texto, especialmente porque os arquivos de texto executáveis e não executáveis compartilham o mesmo ícone .

    
por jaume 13.03.2015 / 12:28
0

Eu suspeito que você precise alterar as configurações do gerenciador de arquivos para que ele execute o script bash diretamente ou pergunte se você deseja executar o script ou exibir o código.

Eu não sei se a versão atual do gerenciador de arquivos do Ubuntu funciona da mesma maneira, mas há alguns anos a correção era a seguinte:

"Abra o gerenciador de arquivos Nautilus e clique na roda dentada (Opções de Localização) no canto superior direito da janela. Navegue até Preferências - Preferências de Arquivo - Comportamento - Arquivos de Texto Executáveis. Um conjunto de botões de opção permite o padrão opção a ser definida. Minha preferência é para "Perguntar a cada vez". Então, quando eu clico duas vezes em um arquivo de script, tenho a opção de executar o script ou exibir (editar) o seu conteúdo. "

(Veja: link )

    
por CentaurusA 13.03.2015 / 12:29
0

Editar : Esta solução funcionará para arquivos individuais, mas se você estiver procurando alterar esse comportamento em todo o sistema (ou seja, para cada arquivo de texto executável), verifique as outras respostas.

Você precisará criar um arquivo .desktop para executar o script diretamente de Nautilus :

  1. Crie um arquivo .desktop no local desejado: gedit /<path_to_dektop_file>/test.desktop
  2. Cole o código abaixo
  3. Salvar
  4. Sair
  5. Torne o arquivo executável: chmod u+x /<path_to_dektop_file>/test.desktop

Código:

[Desktop Entry]
Type=Application
Name=Test
Exec=/<path_to_shell_script>/test.sh

Em seguida, basta clicar duas vezes no arquivo .desktop criado.

    
por kos 13.03.2015 / 12:23