web-dev-qa-db-fra.com

Exécution non programmée de programmes (* .sh) avec double clic dans 13.04

J'utilise Ubuntu pour héberger de nombreux serveurs, certains Minecraft, certains services en nuage et de nombreux sites Web. Malheureusement, après la mise à niveau vers Ubuntu 13.04, le programme craftbukkit.sh ne sera pas lancé même s'il est configuré pour permettre son exécution, il ne s'ouvre que dans getit. Je suis sur le point de le perdre car il est en panne depuis 3 heures et personne après personne me pose des questions sur les raisons pour lesquelles tout est en panne. Je m'énerve.

J'exécute XAMPP 1.7.7 (pas 1.8.1 pour diverses raisons) sur mon serveur également, mais après l'avoir indiqué chargé, ce n'est pas le cas. Se connecter à localhost ne fait rien. Quelqu'un peut-il aider par hasard? Merci!

13
doglover129

Si vous voulez qu’il soit exécuté en double-clic, allez dans Nautilus> menu Fichier> Préférences> Comportement, puis modifiez-y les préférences: définissez "Fichiers texte exécutables" sur "Exécuter un exécutable ..." ou sur "Demander à chaque fois". (merci à Pablo pour l'amélioration de la réponse).

19
Georgy Ivanov

Eh bien, pas nécessairement la façon dont je voulais faire cela, mais je l'ai compris. Je devais "cd /home/server/Desktop/minecraft/craftbukkit.sh" pour accéder à l'emplacement (dans le terminal), puis exécuter "/home/server/Desktop/minecraft/craftbukkit.sh" pour exécuter les fichiers. Cela a fonctionné, mais c'est moins pratique. J'ai également corrigé mon site Web en suivant le même processus. J'espère que cela sera corrigé bientôt!

0
doglover129

Je vois que vous avez trouvé une solution de contournement, mais quelque chose qui pourrait être un peu plus joli et plus élégant pour vous serait d'ouvrir /home/server/Desktop/minecraft/craftbukkit.sh dans un éditeur de texte et d'ajouter:

# before anything is done, probably top of the script (but under the #!/bin/sh)
PWD=$(pwd)  # save the previous location
cd /home/server/Desktop/minecraft
...
...
...
...
# after everything is done, probably near bottom of the script
cd $PWD  # restore the previous location

Si le répertoire en cours est le problème (comme vous l'avez suggéré dans votre solution), cela devrait vous permettre de démarrer le script à partir de n'importe où et cela fonctionnera correctement.

0
Freedom_Ben