web-dev-qa-db-fra.com

Comment exécuter un script en double-cliquant sur les fichiers .EXE sous Windows?

Comment créer un script bash exécutable en double-cliquant sur les fichiers .exe dans Windows? J'ai essayé créer un lanceur et lui assigner le script , mais il y a deux conséquences:

  1. le terminal scintille, disparaît et rien n'est fait.
  2. vous devez spécifier d’exécuter en terminal pour pouvoir fonctionner.

J'ai un script qui installe Tomcat sur un PC hors ligne, y compris toutes les dépendances de Tomcat dans le script. Je dois faire en sorte que le script fonctionne en double-cliquant comme Windows, car la plupart des utilisateurs du script ne seront pas familiarisés avec Ubuntu.

Oubliez l'explication ci-dessus. Je veux créer un script qui peut être exécuté en double-cliquant dessus, sans utiliser le terminal. Quelqu'un sait comment?

110
user61928

J'ai testé cela et cela a bien fonctionné. Assurez-vous que votre script commence par le bon Shebang , par exemple. #!/usr/bin/env bash .

Suivez ensuite ces étapes:

  • Frappé Alt+F2 exécuter une commande.
  • Tapez dconf-editor et appuyez sur Enter.
  • Dans dconfg-editor, accédez à: org ➤ gnome ➤ nautilus ➤ preferences
  • Cliquez sur executable-text-activation et dans le menu déroulant, sélectionnez:

    launch : pour lancer des scripts en tant que programmes.
    OU
    ask : demander quoi faire via un dialogue.

    screenshot

  • Fermez dconf-editor. C'est tout!

Manière alternative, utilisant le terminal: Run:

gsettings set org.gnome.nautilus.preferences executable-text-activation 'launch'

Remarque : Le fichier doit être exécutable. Vous devrez peut-être également modifier l’autorisation du fichier. Faites un clic droit et définissez "Autoriser l'exécution du fichier en tant que programme"

screenshot

Source .

128
stevenmc

Sur Nautilus (Fichiers AKA)

  1. Accédez à Fichiers ( Éditer sous Unity (17.04 ou inférieur))> Préférences> onglet Comportement.

    screenshot

  2. Modifier les paramètres du fichier texte exécutable.

    screenshot

69
Anon

Dans Ubuntu et tous les systèmes d’exploitation Unix, rien n’est défini comme exécutable par défaut. Il y a deux façons de le faire.

  1. Faites un clic droit sur le script ou le fichier que vous souhaitez exécuter. Allez dans Propriétés puis dans l'onglet Autorisations. Cliquez sur la case à cocher qui dit Exécuter.

  2. Ouvrez un terminal cd dans le répertoire où se trouve le fichier. Tapez chmod ugo+x filename. Cela définira le fichier à exécuter.

Désormais, vos utilisateurs peuvent double-cliquer à leur guise.

10
SomKit

Je pense que la création d'un fichier *. Desktop est manquante ici:

$ cat shortcut-for-my-script.desktop
[Desktop Entry]
Type=Application
Terminal=true
Name=Click-Script
Icon=utilities-terminal
Exec=gnome-terminal -e "bash -c './script.sh;$Shell'"
Categories=Application;

Si vous créez plusieurs fichiers *. Desktop pour un seul script, vous pouvez créer plusieurs configurations en transmettant différents paramètres, ce qui est très simple et convivial.

7
h0ch5tr4355

Si vous utilisez XFce, vous pouvez exécuter un script dans Thunar en exécutant la commande suivante:

xfconf-query --channel thunar --property /misc-exec-Shell-scripts-by-default \
             --create --type bool --set true

ou en utilisant l'interface graphique xfce4-settings-editor et en créant la même propriété

6
jcubic

Vous devez vérifier 3 points:

  • Configuration de Nautilus/Nemo: https://askubuntu.com/a/286651/301025
  • Le fichier de script doit être exécutable : https://askubuntu.com/a/275714/301025
  • Le système de fichiers doit permettre l'exécution :

    1. Tapez mount dans une console
    2. Vérifiez si votre système de fichiers porte l'indicateur noexec
    3. Supprimez l'indicateur noexec en éditant /etc/fstab et remontez le système modifié (par exemple, un redémarrage fonctionne)
2
sangorys

Lorsque vous créez un lancement dans Desktop avec un script SHELL ou autre, en ligne de commande, n'oubliez pas de signaler le script pour qu'il soit exécuté en arrière-plan.

Le script mourra quand il aura fini son travail.

Sur la base de la valeur par défaut umask, vous n'avez pas exécuté d'autorisations pour les fichiers par défaut et vous devez changer le mod pour obtenir des autorisations d'exécution, comme suit:

chmod u+x filename
1
Ali Dehghani