web-dev-qa-db-fra.com

Comment puis-je installer un script Nautilus?

J'ai trouvé un script de nautile que j'aimerais utiliser. Comment puis-je l'installer?

14
Glutanimate

Supposons que vous souhaitiez installer le script suivant 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 beaucoup de scripts ne seront pas épuisés. Parfois, ils dépendent d'autres paquets que vous avez installés ou non. Dans ce cas, notre script dépend de notify-osd, fourni avec Ubuntu par défaut.

Sur d'autres distributions, cela peut 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

Mise en place du script

Maintenant que nous avons résolu 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 version 13.04 et supérieure. Ceci est un dossier caché. Pour y accéder, vous devrez ouvrir votre gestionnaire de fichiers, appuyez sur CTRL+L et 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 de la souris et en sélectionnant Créer un nouveau document Document vide . Nommez-le comme vous voulez, mais méfiez-vous: le titre que vous choisissez est la façon dont l'entrée de script apparaîtra plus tard dans le menu contextuel de Nautilus. Alors, mieux vaut choisir un nom descriptif pour le document:

enter image description here

Ouvrez le nouveau document dans l'éditeur de texte de votre choix et copiez-collez le contenu de la boîte de code ci-dessus dans celui-ci. Enregistrez-le et quittez l'éditeur de texte.

Le rendant exécutable

À ce stade, votre script est configuré correctement mais ne fonctionne toujours pas car le système ne le reconnaît pas encore comme fichier exécutable. Pour le rendre exécutable, faites un clic droit sur votre fichier et allez dans Propriétés Autorisations . Cochez la case Autoriser l'exécution en tant que programme et fermez le dialogue:

enter image description here

Utilisation

Vous devriez maintenant pouvoir accéder au script à partir du menu contextuel de votre nautile. Faites un clic droit sur le 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 sélectionnés:

enter image description here

Affectation d'un raccourci clavier au script

Vous pouvez attribuer des raccourcis clavier pour les scripts Nautilus en modifiant le fichier d’accélérateur de clavier de Nautilus. Sous Ubuntu 12.04 et inférieur, ce fichier se trouve sous ~/.gnome2/accels/nautilus. Dans 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 d'accélérateur qu'après le redémarrage de Nautilus (exécutez nautilus -q, puis relancez Nautilus en cliquant sur son lanceur).

La syntaxe du fichier d'accélérateur peut sembler un peu lourde au début, mais c'est en fait assez simple. Jetez un coup d'œ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 affectation de clé unique. Le premier segment entre guillemets désigne l'action, le second la combinaison de touches attribuée. Les lignes commençant par un point-virgule sont commentées et actuellement inactives.

Pour assigner un raccourci à votre script, vous devrez rechercher dans ce fichier le nom du script et décommenter la ligne correspondante en supprimant le point-virgule. Ensuite, tapez le raccourci clavier que vous souhaitez attribuer.

Ce sont 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 avec xev .

Voici comment vous devez 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 même sur des versions ultérieures), Nautilus écrase parfois le fichier d'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 modifications.

Automatisation de l'installation

Ce script Nautilus installera automatiquement les scripts Nautilus pour vous. Veuillez consulter les commentaires pour voir ce qui se passe dans les coulisses:

#!/bin/bash
# AUTHOR:       Glutanimate (https://askubuntu.com/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 J'avais l'habitude d'enregistrer les captures d'écran de cette réponse.

37
Glutanimate