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


116

Comment créer un script bash exécutable en double-cliquant sur les mêmes .exefichiers que Windows? J'ai essayé de créer un lanceur et de lui attribuer 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-clic, comme les fenêtres, 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?


Je pense que vous écrivez peut-être mal votre fichier de bureau. Pouvez-vous poster ( mot à mot ) le lanceur .desktop que vous avez écrit?
Jjed

Aussi, avez-vous vu cela? askubuntu.com/q/34597/24694
Jjed

Son juste un lanceur où vous attribuez un nom et une commande pour faire ce n'est pas une si grande idée

3
muru m'a informé de cela, a travaillé pour moi: askubuntu.com/questions/286621/…
draoi

1
FYI pour les futurs visiteurs: Nautilus, le gestionnaire de fichiers par défaut d’Ubuntu, va apparemment supprimer la possibilité d’exécuter des exécutables dans les nouvelles versions en 2019 en raison de vulnérabilités. Un article sur le sujet et le code s’engagent sur GitLab avec discussion
Sergiy Kolodyazhnyy

Réponses:


134

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:

  • Appuyez sur Alt+ F2pour exécuter une commande.
  • Tapez dconf-editoret tapez Enter.
  • Dans dconfg-editor, allez à: org ➤ gnome ➤ nautilus ➤ preferences
  • Cliquez sur executable-text-activationet dans le menu déroulant sélectionnez:

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

    capture d'écran

  • Fermez dconf-editor. C'est ça!

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"

capture d'écran

Source .


Cela a très bien fonctionné. Juste une note, le "menu déroulant" est atteint en cliquant sur la valeur indiquée à droite de executable-text-activation(la valeur par défaut est display).
ryanjdillon

5
pour ceux qui ne peuvent pas appeler l'application, vous devez d'abord l'installer avecsudo apt-get install dconf-editor
whale_steward

1
Cela fonctionne partout sauf sur le bureau. Comment puis-je le faire fonctionner sur le bureau aussi? J'utilise Xubuntu 14.10.
Shin

Existe-t-il un moyen de faire cela dans LXDE (pour Lubuntu)?
Enfant du

Cela fonctionne très bien sous slax unix to - voir slax.org pour le système Unix vraiment génial que vous pouvez démarrer à partir d’une clé USB.
Raddevus

74

Sur Nautilus (Fichiers AKA)

  1. Allez dans Fichiers ( Édition sur Unity (17.04 ou moins))> Préférences> onglet Comportement

    capture d'écran

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

    capture d'écran


3
Maintenant, "Fichiers -> Préférences". (17.04)
Juillet

Sucré! Le chemin à parcourir à mon humble avis.
codepleb

Comment voir la sortie?
Amr Lotfy

10

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 cddans le répertoire où se trouve le fichier. Type . Cela définira le fichier à exécuter.chmod ugo+x filename

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


2
Il vous demandera toujours quoi faire avec run in terminal ou display ou run ... Donc ce n'est pas ce dont j'ai besoin

Seule cette réponse a fonctionné sur Gnome Ubuntu 17.04 pour rendre un fichier desktop exécutable
Kunok

C'est pour exécuter un fichier sur un terminal, pas en double-cliquant dessus.
DimiDak

8

Je pense que la création d'un fichier * .desktop manque 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 même script, vous pouvez créer plusieurs configurations en transmettant différents paramètres, ce qui constitue un moyen très confortable et convivial.


1
C'est la meilleure réponse pour Ubuntu. Notez que vous n’aurez peut-être pas besoin de spécifier (ou probablement pas?) Terminal=TrueEt Exec=gnome-terminalsauf si vous créez littéralement un raccourci pour un script dont vous voulez voir la sortie dans une fenêtre de terminal ... Notez également que vous pouvez pointer Iconsur quelque png vous voudrez peut-être ...
BuvinJ

6

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-editoret en créant les mêmes propriétés.

Run xfce4-settings-editor, puis entrez:

  • /misc-exec-shell-scripts-by-default

  • Booléen

  • VRAI

image de xfce4-settings-editor


Voici comment atteindre l'objectif avec des actions personnalisées dans Thunar (sans réactiver cette fonctionnalité "risquée").
Cipricus

Aussi ici sur comment utiliser Zenity et obtenir une question "Modifier ou exécuter?"
Cipricus

2

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 mountune console
    2. Vérifiez si votre système de fichiers a le noexecdrapeau
    3. Supprimez l' noexecindicateur en modifiant /etc/fstabet remontez le système modifié (par exemple, un redémarrage fonctionne)

1

Lorsque vous créez un lancement dans Desktop avec un script SHEL 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.


1
je l'ai fait mais quel prob est le terminal juste scintille et rien ne se passe

1

En umaskfonction de la valeur de defualt, vous n'avez pas exécuté les autorisations pour les fichiers par défaut et vous devez changer le mod pour obtenir les autorisations d'exécution, comme ceci:

chmod u+x filename

1
Bouillon Ali bien sûr je l'ai fait c'est évident de le faire

0

En complément de la réponse à propos de Thunar : cette réponse réactiverait une fonctionnalité précédente de Thunar pour exécuter des scripts en double-clic. Mais cette fonctionnalité était considérée comme un risque de sécurité.

Pour éviter cela, la solution la plus élégante consiste peut-être à afficher une fenêtre contextuelle avec une question du type "Que voulez-vous avec ce fichier: Exécuter ou modifier?" (similaire à ce que vous avez dans d'autres gestionnaires de fichiers comme PCManFM et Nemo) lorsque vous cliquez sur ce fichier - en utilisant Zenity: ici .


Une alternative serait des actions personnalisées , peut-être la meilleure fonctionnalité de Thunar.

La commande que j'utilise pour exécuter un fichier texte exécutable est sh -c %f, pour une action personnalisée appelée "Script d'exécution / exécution".

entrez la description de l'image ici

Les conditions d'apparence sont simplement "texte":

entrez la description de l'image ici

Une commande similaire peut être utilisée pour exécuter dans un terminal un tel script ("Run in terminal"), tout en maintenant le terminal Xfce4 ouvert:

xfce4-terminal -H -x %f

entrez la description de l'image ici

Facultativement, et peut-être de préférence, afin de masquer ces options pour tous les fichiers texte, à l'exception des fichiers exécutables, vous pouvez limiter l'utilisation de l'apparence à des .shfichiers (ou aux .pyfichiers si nécessaire, etc.), sous "Conditions d'apparence":

entrez la description de l'image ici

- avant de renommer les fichiers exécutables en conséquence.


-1

Spécialement pour Android Studio Vous pouvez suivre ma réponse originale ici :

Pour créer un lanceur de bureau:

  • Cliquez sur Create Desktop Entry..dans le menu Outils .

entrez la description de l'image ici

  • Il vous sera demandé un mot de passe, entrez le mot de passe de votre connexion actuelle.

  • Enfin, la notification s'affichera sur l'écran d'Android Studio comme suit:

entrez la description de l'image ici

  • Vous pouvez voir dans Applications => Programmation => Android Studio et également sur le bureau après le redémarrage du système.

Je vous remercie. :)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.