Comment installer un script Nautilus?


Réponses:


37

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-osdqui 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-scriptsou ~/.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 documentDocument 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:

entrez la description de l'image ici

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ésAutorisations . Cochez la case Autoriser l'exécution en tant que programme et fermez la boîte de dialogue:

entrez la description de l'image ici

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:

entrez la description de l'image ici

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:

  • CTRL = <Primary>
  • ALT = <Alt>
  • SHIFT = <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.


1
Il est possible que cette réponse soit encore plus améliorée, notamment des informations sur l'attribution d'icônes aux scripts à l'aide de la fenêtre des propriétés du fichier Nautilus ou de la ligne de commande (par exemple, askubuntu.com/a/376062/53738 ).
dess
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.