J'ai trouvé un script nautilus que j'aimerais utiliser. Comment l'installer?
J'ai trouvé un script nautilus que j'aimerais utiliser. Comment l'installer?
Réponses:
Supposons que vous souhaitiez installer le script suivant que vous avez trouvé lors de la navigation sur Ask Ubuntu:
#!/bin/bash
## Sample Script 0.1
## Dependencies: notify-osd
notify-send "Sample nautilus script" "You Selected $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
Dépendances
La première chose que vous remarquerez est que de nombreux scripts ne seront pas simplement épuisés. Parfois, ils dépendent d'autres packages que vous pourriez ou non avoir installés. Dans ce cas, notre script dépend de celui notify-osd
qui est fourni avec Ubuntu par défaut.
Sur d'autres distributions, cela pourrait ne pas être le cas et vous devrez installer les dépendances avant d'utiliser le script. Si la dépendance fait partie des référentiels officiels, vous pouvez facilement l'installer avec apt-get
, par exemple:
sudo apt-get install notify-osd
Configuration du script
Maintenant que nous avons satisfait toutes les dépendances, nous pouvons continuer et copier le script sur notre système. Pour ce faire, nous créons d'abord un nouveau document dans notre dossier de scripts, qui est ~/.gnome2/nautilus-scripts
ou ~/.local/share/nautilus/scripts/
sur Ubuntu 13.04 et supérieur. Ceci est un dossier caché. Pour y accéder, vous devrez ouvrir votre gestionnaire de fichiers, appuyez sur CTRL+ Let collez le chemin du répertoire dans la barre d'emplacement.
Ensuite, nous allons créer un nouveau document vide en cliquant avec le bouton droit et en sélectionnant Créer un nouveau document → Document vide . Nommez-le tout ce que vous voulez, mais attention: le titre que vous choisissez est la façon dont l'entrée de script apparaîtra plus tard dans le menu contextuel nautilus. Mieux vaut donc choisir un nom descriptif pour le document:
Ouvrez le nouveau document dans un éditeur de texte de votre choix et copiez-collez le contenu de la zone de code ci-dessus. Enregistrez-le et quittez l'éditeur de texte.
Rendre exécutable
À ce stade, votre script est correctement configuré mais ne fonctionnera toujours pas car le système ne le reconnaît pas encore comme un fichier exécutable. Pour le rendre exécutable, faites un clic droit sur votre fichier et dirigez-vous vers Propriétés → Autorisations . Cochez la case Autoriser l'exécution en tant que programme et fermez la boîte de dialogue:
Usage
Vous devriez maintenant pouvoir accéder au script à partir de votre menu contextuel nautilus. Faites simplement un clic droit sur un fichier de votre choix et dirigez-vous vers Scripts -> Nom du script (ici: Exemple de script ). Cliquez sur l'entrée pour exécuter le script sur les fichiers que vous avez sélectionnés:
Attribution d'un raccourci clavier au script
Les raccourcis clavier pour les scripts Nautilus peuvent être attribués en modifiant le fichier d'accélération clavier de Nautilus. Sur Ubuntu 12.04 et inférieur, ce fichier se trouve sous ~/.gnome2/accels/nautilus
. Sur les versions plus récentes, ce fichier a été déplacé vers ~/.config/nautilus/accels
. Veuillez noter que votre script n'apparaîtra dans le fichier accélérateur qu'après avoir redémarré Nautilus (exécutez nautilus -q
, puis relancez Nautilus en cliquant sur son lanceur).
La syntaxe du fichier accélérateur peut sembler un peu écrasante au début, mais c'est en fait assez facile. Jetez un œil à cet extrait, par exemple:
; (gtk_accel_path "<Actions>/ShellActions/ZoomInAccel2" "<Primary>KP_Add")
; (gtk_accel_path "<Actions>/ShellActions/TabsNext" "<Primary>Page_Down")
; (gtk_accel_path "<Actions>/ScriptsGroup/script_file:\\s\\s\\shome\\sglutanimate\\s.gnome2\\snautilus-scripts\\sSample%20script" "")
; (gtk_accel_path "<Actions>/ShellActions/Search" "<Primary>f")
; (gtk_accel_path "<Actions>/ShellActions/Forward" "<Alt>Right")
Chaque ligne représente une seule affectation de clé. Le premier segment entre guillemets double désigne l'action, le second la combinaison de touches affectée. Les lignes commençant par un point-virgule sont commentées et actuellement inactives.
Pour attribuer un raccourci à votre script, vous devrez rechercher le nom du script dans ce fichier et décommenter la ligne correspondante en supprimant le point-virgule. Ensuite, saisissez le raccourci clavier que vous souhaitez attribuer.
Voici les modificateurs disponibles et leurs codes clés correspondants:
<Primary>
<Alt>
<Shift>
Vous pouvez trouver des codes clés valides pour toutes les autres clés en utilisant xev .
Voici comment vous devrez modifier la section ci-dessus pour affecter votre exemple de script à ALT+ SHIFT + S:
; (gtk_accel_path "<Actions>/ShellActions/ZoomInAccel2" "<Primary>KP_Add")
; (gtk_accel_path "<Actions>/ShellActions/TabsNext" "<Primary>Page_Down")
(gtk_accel_path "<Actions>/ScriptsGroup/script_file:\\s\\s\\shome\\sglutanimate\\s.gnome2\\snautilus-scripts\\sSample%20script" "<Alt><Shift>s")
; (gtk_accel_path "<Actions>/ShellActions/Search" "<Primary>f")
; (gtk_accel_path "<Actions>/ShellActions/Forward" "<Alt>Right")
Sur Ubuntu 12.04 (et peut-être les versions ultérieures également) Nautilus écrasera parfois le fichier accélérateur avant que vous puissiez apporter des modifications. Il peut donc être judicieux d'effectuer toutes les modifications que vous apportez lorsque Nautilus n'est pas en cours d'exécution ( nautilus -q
). Dans tous les cas, vous devrez redémarrer Nautilus pour voir les changements.
Automatiser l'installation
Ce script Nautilus installera automatiquement les scripts Nautilus pour vous. Veuillez regarder les commentaires pour voir ce qui se passe dans les coulisses:
#!/bin/bash
# AUTHOR: Glutanimate (/ubuntu//users/81372/)
# LICENSE: GNU GPLv3 (http://www.gnu.de/documents/gpl-3.0.en.html)
# NAME: Nautilus Scripts Installer
#
# DESCRIPTION: This script will install Nautilus scripts on Ubuntu 12.04 and above.
# Note: scripts of the same name in the destination folder will be
# overwritten without warning
# general purpose notification function
gui_notify(){
notify-send -i gnome-app-install "Nautilus Scripts Installer" "$1"
}
# check if any files selected
if [[ -z "$@" ]]
then
gui_notify "Error: No files selected."
exit 1
fi
RELEASE="$(lsb_release -r | cut -f2)" # detect Ubuntu release
if [[ "$RELEASE" = "12.04" ]] # set script folder accordingly
then
ScriptFolder="$HOME/.gnome2/nautilus-scripts"
else
ScriptFolder="$HOME/.local/share/nautilus/scripts/"
fi
for Script in "$@"; do
ScriptFilename="${Script##*/}" # get filename via bash string manipulation
cp "$Script" "$ScriptFolder/" # Move script to destination
chmod u+x "$ScriptFolder/$ScriptFilename" # Make it executable for the user
done
gui_notify "The following scripts have been installed: $@"
En passant: voici le script nautilus que j'ai utilisé pour enregistrer les screencasts de cette réponse.