5 votes

Comment exécuter un fichier .sh dans le terminal par défaut - problème avec le fichier .desktop

J'ai un petit fichier .sh que j'utilise pour convertir des lots de fichiers image. Je copie simplement ce petit fichier dans le dossier et je le lance pour convertir toutes les images du dossier. Cela fonctionne bien mais cela me dérange que l'option "Exécuter dans le terminal/Afficher/Exécuter" s'affiche à chaque fois.

J'ai essayé de créer un fichier .desktop comme vu sur d'autres publications, nommé convertpics.desktop:

[Desktop Entry]

Type=Application

Name=convertpics

Exec='/chemin_complet_vers_le_script/convertpics.sh'

Terminal=true

J'ai ensuite rendu le fichier convertpics.desktop exécutable. Maintenant, lorsque je double-clique sur convertpics.desktop (maintenant affiché simplement comme convertpics), il exécute le script MAIS il l'exécute dans mon dossier personnel plutôt que dans le dossier dans lequel je me trouve. Existe-t-il un moyen de le faire utiliser le dossier actuel comme dossier de travail?

2voto

xubuntix Points 5500

Votre question manque une information importante : vous voulez que le script s'exécute à partir de nautilus, n'est-ce pas ?

D'accord, donc en supposant que vous voulez faire ce qui suit (ce n'est pas exactement ce que votre description dit, mais c'est assez proche) :

  1. Utilisez nautilus (le gestionnaire de fichiers) pour naviguer vers un dossier.
  2. Clic droit dans ce dossier et exécutez un script avec le dossier actuel en tant que paramètre

Voici comment vous pouvez faire cela :

  • Créez votre script (par exemple en bash) et enregistrez-le dans le dossier ~/.gnome2/nautilus-scripts/.
  • Dans votre script, utilisez "$PWD" au lieu du chemin du répertoire
  • Rendez le script exécutable

Ensuite, vous pouvez naviguer dans le dossier, cliquer droit, aller dans scripts, cliquer sur votre script et il s'exécutera dans le dossier actuel.

Exemple : Le script infoHere.sh dans ~/.gnome2/nautilus-scripts/:

#!/bin/bash
echo "\$* = $*" >> info.txt
echo "NAUTILUS_SCRIPT_SELECTED_FILE_PATHS = $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" >> info.txt
echo "NAUTILUS_SCRIPT_CURRENT_URI = $NAUTILUS_SCRIPT_CURRENT_URI" >> info.txt
echo "PWD = $PWD" >> info.txt

Le menu résultant ressemble à ceci.

L'exécution de ce script produira un fichier appelé info.txt avec le contenu des variables d'environnement importantes que vous pouvez utiliser dans votre script.

En savoir plus sur les scripts nautilus ici :

Pages Wiki Ubuntu

Une entrée de la liste de diffusion (où le script exemple est inspiré)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X