App deve ser inicializável pelo seu nome na linha de comando

0

Já consegui criar um arquivo .desktop, movi-lo para / usr / share / applications e iniciar meu aplicativo a partir do painel em que o ícone aparece. O aplicativo é iniciado pelo comando "python3 / path / to / script" ainda. Eu pensei agora que como eu tenho o inicial na pasta de aplicativos, seria suficiente digitar seu nome na linha de comando (alt + f2) e ele iria começar, mas diz que o comando é desconhecido.

Onde no sistema eu tenho que colocar um arquivo para informar ao sistema que o nome do aplicativo é um comando? Assim como digitar "firefox" e o firefox começa ...

    
por user2366975 03.09.2013 / 18:13

2 respostas

2

  • Coloque-o no caminho ou altere o caminho. Você pode executar echo $PATH para ver seu caminho. Se isso for apenas para um usuário, ~/bin/ é um local adequado. Caso contrário, mova o arquivo para /usr/local/bin/ . Você precisará fazer isso como root.

  • Para que seja diretamente executável (sem pedir ao Python para executá-lo explicitamente):

    • Precisa ser executável: chmod +x filename
    • Ele precisa de um shebang no começo de um arquivo: #!/usr/bin/env python3
    • Você provavelmente deve renomeá-lo para não ter .py no final

A alternativa para isso é que você acabou de criar um script de shell do ativador que executa python /path/to/script.py . Isso pouparia você ter que mover seu arquivo em algum lugar especial, mas as mesmas regras se aplicam. Ele precisa ser definido como executável, estar em seu caminho e começar com #!/bin/sh ou #!/bin/bash shebang.

    
por Oli 03.09.2013 / 18:41
1

Você precisa colocar o script em seu $ PATH ou adicionar o caminho onde o script está localizado em seu $ PATH (eu recomendaria o primeiro). Para evitar ter que escolher manualmente o interpretador para invocar, você deve incluir uma linha shebang na parte superior do script como #!/usr/bin/env python3 e tornar o script executável com chmod a+x name_of_script . Você pode então remover a extensão .py e chamá-la pelo seu nome dentro do terminal.

    
por konapun 03.09.2013 / 18:33