Como dar ao recurso “Session and Startup” um diretório de trabalho para um script python

0

Eu transformei uma GUI que escrevi em python em um executável via chmod +x mygui.py , adicionei um shebang. Em seguida, adicionei esse script à lista de programas "Sessão e inicialização" (Configurações - > Sessão e inicialização) para executá-lo quando ligo meu computador. Quando eu reinicio meu computador, a GUI é aberta, mas alguns de seus widgets não são desenhados.

Editar: Depois de abrir as propriedades de um lançador que criei na minha área de trabalho para o mesmo script python, percebi que a diferença é que o ativador tem um "diretório de trabalho" que o gerenciador de inicialização não conhece. Tenho certeza de que essa é a razão pela qual alguns widgets não estão sendo carregados, pois usam alguns ícones e outros elementos que estão no mesmo diretório do script. Então, agora minha pergunta é: como eu digo ao ubuntu onde procurar tudo no meu script quando ele é aberto na inicialização? Obrigado.

    
por Gustavo Rodriguez 24.08.2015 / 20:33

1 resposta

0

você pode definir "diretório de trabalho" ou no termo "caminho" do Linux de três maneiras diferentes:

1) adicione seu PATH de script às variáveis de ambiente. É uma maneira bastante mais fácil e funciona bem, mas é permanente e não é uma boa prática IMO. A maneira de fazer isso é emitir este comando:

export PATH=$PATH:your_path

2) adicione o seu script PATH ao atalho. Basta abrir o arquivo .desktop em um editor de texto (se estiver com problemas para encontrá-lo, você pode criar o iniciador na sua área de trabalho e encontrá-lo em ~ / Desktop, depois mova-o mais tarde) e adicione uma linha no final que diz Path=YOUR_PATH . Em seguida, adicione o arquivo .desktop à inicialização

3) primeiro vá para seu diretório e inicie seu script. por exemplo:

bash -c "cd /path/to/directory && /path/to/directory/executable"
    
por AliReza Mosajjal 24.08.2015 / 21:04