Question Ajout d'un script Python au programme de lancement d'applicatifs


J'utilise Gnome 2.32.0 dans Ubuntu 10.10 et je dois exécuter un script Python via le lanceur d'applications personnalisées Gnome. J'ai ajouté un lanceur d'application au panneau et indiqué le script Python approprié, mais chaque fois que j'essaie de l'exécuter, je reçois un message d'erreur dans ce sens:

Une erreur s'est produite lors de la création du processus enfant pour ce terminal
Échec de l'exécution du processus enfant "/home/dananjaya/xkcd_viewer/xkcd_gui.py" (autorisation refusée)

Quelle est la manière correcte d’ajouter un script Python au lanceur d’applications? Qu'est-ce qui ne va pas dans ce cas? Merci d'avance.


0
2018-04-22 12:29


origine




Réponses:


Il semble que vous ne disposez pas des autorisations nécessaires pour exécuter le script. Il y a deux solutions possibles:

  1. Préfixez la commande avec python, e. g. python /path/to/myscript.py au lieu de /path/to/myscript.py. De cette façon, l'interpréteur python va lire votre script au lieu de script exécuté appelant le python interprète, et les autorisations sur le script peut rester le même.

  2. Activer l'exécution-permissions pour     le script. Cliquez avec le bouton droit sur le script     dans le gestionnaire de fichiers, choisissez     propriétés et cocher l'exécution     permission sous les permissions     languette. Cette solution implique que votre script puisse être identifié par le shell en tant que script python. Pour ce faire, vous devez placer #!/usr/bin/env python sur la première ligne du fichier.


1
2018-04-22 13:21



Merci pour vos suggestions et j'ai essayé les deux. J'ai activé l'autorisation d'exécution. aussi préfixe la commande avec 'python'. Maintenant, il ne donne pas l'erreur susmentionnée mais ne fait rien du tout. J'ai regardé tous les processus en cours d'exécution et le script ne s'exécute pas. - Dananjaya
On dirait que vous avez d'autres bugs. Cela peut être dû au fait que le script s'exécute avec un autre répertoire de travail au lieu de son répertoire principal. Essayez d'exécuter exactement la même commande que le lanceur dans un terminal et voyez si vous obtenez des exceptions. - Egil
Aucune exception ne se produit. Le script fonctionne correctement dans le terminal. - Dananjaya
J'ai cloné votre dépôt et obtenu gnome-terminal -e "python /home/egil/src/xkcd_viewer/xkcd_gui.py" travailler comme lanceur. Cependant, je ne peux pas comprendre pourquoi l'exécution du script génère directement une croix. - Egil
Bien sûr, vous n'avez pas le shebang au début de votre script. La première ligne devrait se lire #!/usr/bin/env python. Le réticule provient du import commande qui est exécutée car votre script est lu comme un lot de commandes car il lui manque le shebang qui explique qu'il doit être exécuté avec python. - Egil