¿Cómo puedo instalar un script de Nautilus?

13

Encontré un script nautilus que me gustaría usar. ¿Cómo lo instalo?

    
pregunta Glutanimate 05.01.2013 - 06:16

1 respuesta

34

Supongamos que quiere instalar el siguiente script que encontró mientras navegaba Ask Ubuntu:

#!/bin/bash
## Sample Script 0.1
## Dependencies: notify-osd

notify-send "Sample nautilus script" "You Selected $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"

Dependencias

Lo primero que notará es que muchos scripts no solo se ejecutarán fuera de la caja. A veces dependen de otros paquetes que podrías haber instalado o no. En este caso, nuestro script depende de notify-osd , que viene con Ubuntu de manera predeterminada.

En otras distribuciones, este podría no ser el caso y deberá instalar las dependencias antes de usar el script. Si la dependencia forma parte de los repositorios oficiales, puede instalarla fácilmente con apt-get , por ejemplo:

sudo apt-get install notify-osd

Configurando el script

Ahora que hemos satisfecho todas las dependencias, podemos continuar y copiar el script en nuestro sistema. Para hacerlo, primero creamos un nuevo documento en nuestra carpeta de scripts, que es ~/.gnome2/nautilus-scripts o ~/.local/share/nautilus/scripts/ en Ubuntu 13.04 y superior. Esta es una carpeta oculta. Para dirigirte a él, tendrás que abrir tu administrador de archivos, presionar CTRL + L y pegar la ruta del directorio en la barra de Ubicación.

A continuación, crearemos un nuevo documento vacío haciendo clic con el botón derecho y seleccionando Crear nuevo documento Documento vacío . Llámalo como quieras, pero ten cuidado: el título que eliges es cómo aparecerá más tarde la entrada del guión en el menú contextual de Nautilus. Así que mejor elegir un nombre descriptivo para el documento:

Abra el documento nuevo en un editor de texto de su elección y proceda a copiar y pegar el contenido del cuadro de código anterior en él. Guárdelo y salga del editor de texto.

Haciéndolo ejecutable

En este punto, la secuencia de comandos está configurada correctamente, pero aún no funcionará, ya que el sistema aún no la reconoce como un archivo ejecutable. Para que sea ejecutable, haga clic derecho en su archivo y diríjase a Propiedades Permisos . Establezca la marca de verificación en Permitir la ejecución como programa y cierre el diálogo:

Uso

Ahora debería poder acceder al script desde el menú contextual de nautilus. Simplemente haga clic con el botón derecho en un archivo de su elección y diríjase a Scripts - & gt; Nombre del script (aquí: Script de ejemplo ). Haga clic en la entrada para ejecutar el script en los archivos que seleccionó:

Asignación de un atajo de teclado al script

Los atajos de teclado para los scripts de Nautilus se pueden asignar al editar el archivo acelerador de teclado de Nautilus. En Ubuntu 12.04 y debajo este archivo se puede encontrar en ~/.gnome2/accels/nautilus . En las versiones más recientes, este archivo se ha movido a ~/.config/nautilus/accels . Tenga en cuenta que su script solo aparecerá en el archivo del acelerador después de reiniciar Nautilus (ejecute nautilus -q , luego inicie Nautilus nuevamente haciendo clic en su selector).

La sintaxis del archivo del acelerador puede parecer un poco abrumadora al principio, pero en realidad es bastante fácil. Eche un vistazo a este extracto, por ejemplo:

; (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")

Cada línea representa una sola asignación de tecla. El primer segmento de doble cita designa la acción, el segundo la combinación de teclas asignadas. Las líneas que comienzan con punto y coma están comentadas y están actualmente inactivas.

Para asignar un acceso directo a su secuencia de comandos, tendrá que buscar en este archivo el nombre de la secuencia de comandos y descomentar la línea correspondiente eliminando el punto y coma. Luego, ingrese el atajo de teclado que desea asignar.

Estos son los modificadores disponibles y sus códigos clave correspondientes:

  • CTRL = <Primary>
  • ALT = <Alt>
  • MAYÚS = <Shift>

Puede encontrar códigos de tecla válidos para todas las demás claves usando xev .

Así es como tendría que modificar la sección anterior para asignar su secuencia de comandos de muestra a ALT + MAYÚS + 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")

En Ubuntu 12.04 (y quizás versiones posteriores también), Nautilus algunas veces sobrescribirá el archivo del acelerador antes de poder realizar cambios. Por lo tanto, podría ser una buena idea realizar todos los cambios que realice mientras Nautilus no esté funcionando ( nautilus -q ). De cualquier manera, tendrá que reiniciar Nautilus para ver los cambios.

Automatización de la instalación

Este script Nautilus instalará automáticamente los scripts de Nautilus. Por favor, eche un vistazo a los comentarios para ver lo que sucede detrás de escena:

#!/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" ""
}


# 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: $@"

Como nota adicional: Aquí está el script nautilus . Solía ​​grabar las capturas de pantalla de esta respuesta.

    
respondido por el Glutanimate 05.01.2013 - 06:16

Lea otras preguntas en las etiquetas