Este es mi primer post, lo encontre en internet buscando sobre taringa y lunux:
Se habla mucho en la comunidad linuxera de que a los usuarios de Ubuntu se les da todo en bandeja y que no aportan nada. Yo no creo eso, y en este post trataré de fomentar en el lector novel el deseo de aprender y comprender cada paso hasta llegar al resultado, es decir no darle una simple receta sino información que le permita discernir sobre lo que está haciendo y lo que puede hacer solo.
Al finalizar el post el lector podrá diseñar sus propios script para realizar las tareas que desee con sus archivos y directorios en nautilus.
Recordemos entonces las libertades del Open
[*]Libertad 0: Ejecutar y usar el software para cualquier propósito
[*]Libertad 1: Estudiar el programa y adaptarlo a las necesidades del usuario.
[*]Libertad 2: Distribuir copias.
[*]Libertad 3: Modificar el programa y liberar las modificaciones al público.
Hoy es el turno de Nautilus.
¿Que es Nautilus?
Nautilus es el administrador de archivos oficial del entorno de escritorio GNOME .
¿Que es un Script?
En informática, un script es un guión o conjunto de instrucciones. Permiten la automatizacion de tareas creando pequeñas utilidades.
Una vez entendido esto vamos a meternos de lleno en la creación de nuestros Scripts para Nautilus.
Para poder ejecutar script desde nautilus tenemos que tener instalado el paquete python-nautilus, para ello lo instalamos desde el Gestor de paquetes Synaptic o con el comando apt-get desde una terminal.
En esta web (especializada en esta temática) descargamos este archivo . Lo descomprimimos y copiamos el contenido de la carpeta gnome2. Esta carpeta se encuentra oculta (las carpetas oculata tiene un punto . delante del nombre en este caso .gnome2) en nuestra carpeta personal. Lo que hace es instalar el modulo Process.py
Cita:
Es decir que si nuestro usuario es “pepe”: /home/pepe/.gnome2/
Es necesario que todos los archivos tengan permiso de ejecución. (Clic derecho al archivo>propiedades y seleccionar esto ¿Que son los permisos? )
Solo resta reiniciar nautilus (en una terminal: nautilus –restart)
Como explica su autor en la web:
Cita:
Process.py: Este módulo pretende automatizar el proceso de crear scripts para Nautilus. Con él podemos ejecutar un comando cualquiera de linea de comandos desde un script, creando un archivo con una llamada a una función.
¿Que es un comando?
Es una instrucción o mandato que el usuario proporciona al sistema, desde la línea de comandos o una llamada a programa. La línea de comandos o consola (del inglés shell) permite al usuario escribir instrucciones, de tal modo que, después de pulsar la tecla enter en el teclado , se ejecuten procesos internos del sistema operativo o se lancen programas externos al mismo. En linux se utiliza bash. Lista de comandos
Aquí es en donde radica la importancia de conocer como funcionan las aplicaciones mediante consola. Por ejemplo ImageMagick o FFMPEG que nos permitirán tener un gran control sobre imágenes, audio y video. No caigas en el error de creer que la consola y los comandos son malos y es mejor hacer clic y clic. Si vienes de Windows te costará adaptarte pero vale la pena.
Imaginamos que queremos rotar una imagen hacia la derecha. Si tenemos instalado ImageMagick lo haríamos así:
Cita:
convert -rotate 90 imagen.jpg imagen.jpg
Podemos identificar diferentes partes, la primer indica el programa a utilizar, luego la acción y al final el archivo de entrada y el de salida. El modulo Process.py permite manejar 3 variable, cuyos valores serán los del archivo (o directorio) seleccionado con el clic derecho.
[*]$FILE$: el nombre completo del archivo, nombre más extensión
[*]$NAME$: sólo el nombre del archivo
[*]$EXT$: sólo la extensión del archivo
Ahora queremos hacer esto desde un script. Haciendo uso Process.py, lo haríamos así:
Cita:
#!/usr/bin/env python
# -*- coding: latin-1 -*-
import os, sys
import string
sys.path.insert(0, os.path.join(os.path.abspath(os.path.dirname(sys.argv[0])),”..”))
import Process
Process.ProcessFiles(
“convert -rotate 90 $FILE$ $FILE$”,#comando
“jpg|png”, # tipo de archivos separados por |
False, # leer directorios?
False, # procesar directorio como un archivo
“Rotacion completa”) # mensaje final
Lo tienes que guardar sin exención dentro de la carpeta /home/usuario/.gnome2/.nautilus-scripts darle los permisos de ejecución y reiniciar Nautilus.
Luego cuando hagas un clic derecho sobre un archivo en nautilus aparecerá “Scripts” y dentro de ellas carpetas con los diferentes scripts que tenemos.
Process.ProcessFiles sirve para aplicar el comando a un solo archivo, si utilizamos ProcessTogetherFiles y $FILES$ lo que obtenemos los nombres y extensiones de todos lo archivos seleccionados (se ignoran los directorios).
Cita:
#!/usr/bin/env python
# -*- coding: latin-1 -*-
import os, sys
import string
sys.path.insert(0, os.path.join(os.path.abspath(os.path.dirname(sys.argv[0])),”..”))
import Process
Process.ProcessTogetherFiles(
“gthumb $FILES$”, # comando a ejecutar
“jpg”, # tipo de archivos
“”) # mensaje final
Esto abrirá todos los archivos jpg seleccionados con gthumb. No tiene mucha utilidad pero es un ejemplo. El potencial de esto depende de cada uno. Podes mirar los demás scripts que vienen en el pack y aprender un par de cosas extras.
TUXINGA!