Como executar um script python como sudo clicando duas vezes nele?

1

Simplificando, como posso fazer isso, fornecendo um aviso gráfico?

Eu tentei criar um script bash separado que, quando aberto, executava o script Python com permissões de superusuário - usei gksu -u root '<script>' .

Infelizmente, não funcionou ...: (

Alguma idéia?

    
por TellMeWhy 03.11.2015 / 16:50

2 respostas

2

A maneira apropriada de iniciar qualquer processo ou aplicativo via GUI está usando um arquivo .desktop . Você também pode usá-lo para executar scripts com sudo privileges. Na sua forma mais simples, seria:

[Desktop Entry]
Name=Some Name
Exec=gksu python3 /path/to/script 
Type=Application

Se o script for executável, você poderá simplesmente usar:

Exec=gksu /path/to/script 

No Exec= -line

notas importantes

  • Você precisa tornar o arquivo .desktop executável para que ele funcione com um clique duplo.
  • Você pode "vestir" o arquivo .desktop com mais opções, como um ícone etc., como mostrado aqui .

Alternativamente

Mais complicado e meio que um desvio, mas deve ser mencionado, no entanto:
Você poderia definir nautilus para executar scripts (executáveis) com um clique duplo, como descrito aqui .

Então (fazendo "seu caminho"), um script bash separado:

#!/bin/bash
gksu python3 /path/to/script

tornado executável, também executaria o script python, similarmente ao arquivo .desktop .

    
por Jacob Vlijm 03.11.2015 / 17:18
1

Desculpe não há representante suficiente para commet. Sua tentativa deu ao arquivo as permissões corretas. Tente dar rwx para todos para ver se isso funciona, você pode alterá-lo para a configuração desejada mais tarde.

sudo chmod 777 'script.py'.

Tente corrigir o problema do caminho

gksudo ./script 
    
por Andrew Kralovec 03.11.2015 / 17:10