Captura de zonas de la pantalla en Ubuntu (2)

En la entrada anterior explique como crear un botón en la barra de navegación de GNOME para realizar capturas de zonas de la pantalla utilizando ImageMagick.

Ahora os voy a enseñar a como hacer esto usando una combinación de teclas o key-bindings y un script para mejorar un poco el resultado general y facilitar mejoras futuras.

Antes ya vimos como instalar ImageMagick y crear el botón. Ahora lo primero que vamos a hacer es el script:

#!/bin/bash
#Simple Screen capture script

filename=/home/$USER/Desktop/screen;
counter=1;
FOUT=$filename;

function checkFile(){
if [ -f $FOUT.png ]
then
FOUT=$filename'_'$counter;
let counter=counter+1;
checkFile;
fi
}

checkFile;

import $FOUT.png

#View the image.
display
$FOUT.png
Es un script muy sencillo que simplemente verifica que la imagen no exista y en caso contrario, intenta con otro nombre. Podéis cambiar el nombre o la ruta de los ficheros modificando la variable FILENAME. Tambien podeis cambiar la codificación del fichero cambiando PNG por JPG o BMP o GIF o lo que acepte ImageMagick... pero ¿para qué? PNG es el mejor para estos menesteres.

Le damos permisos de ejecución al script y lo guardamos en algún lugar accesible para todos los usuarios, como por ejemplo /usr/bin/
$sudo chown root.root screenshot.sh
$sudo chmod 755 screenshot.sh
$sudo mv screenshot.sh /usr/bin/
Ahora tendremos que crear la combinación de teclas que hará que toda la magia funcione. Para ello utilizaremos el gconf-editor. Asi que desde una shell del usuario ejecutamos lo siguiente:
$gconf-editor
Primero, buscamos la ruta APPS/Metacity/keybinding_commands donde editamos command_1 con el siguiente valor: /usr/bin/screenshot.sh


Segundo, vamos a la ruta global_keybindings, buscamos command_1 y añadimos la combinación de teclas que queramos, yo utilizo Control+P. Mirad las otras combinaciones para que os hagáis una idea de como va el asunto.


Ahora cada vez que pulsamos Control+P aparecerá la cruz, seleccionamos el area y se creará el fichero en la ruta que hayamos específicado en FILENAME, en éste caso, en el escritorio y sin preocuparnos de se sobre escriban.

Captura de zonas de la pantalla en Ubuntu


Voy a explicaros como añadir un pequeño botón en Ubuntu que nos permitira crear capturas de zonas rectangulares de la pantalla. Por defecto, Ubuntu utiliza la herramienta de GNOME la cual se puede utilizar pulsando sobre el icono en el Menú de GNOME o pulsando la tecla ImprPant.
Pulsando la tecla ImprPant capturará todo lo que se muestra en la pantalla, en cambio si pulsamos Alt+ImprPant se captura sólo la ventana que tenemos seleccionada.
Todo esto es muy útil, pero dado que tenemos herramientas que nos permiten hacer un poco más, vamos a añadir un botón a la barra de GNOME para que genere una captura de una zona de pantalla que deseamos. Esto es sumamente útil ya que nos permite realizar capturas sin la necesidad de utilizar algún editor como The Gimp para recortar lo que no queremos.

Lo primero que debemos instalar es ImageMagick si ya no la tenias instalada. ImageMagick hace de todo. Es realmente impresionante la cantidad de tareas que se pueden hacer, y lo mejor de todo, es una herramienta que podemos ejecutar desde la consola, lo cual para automatizar algunas labores nos ayuda enormemente. Un ejemplo, un albúm familiar que mantengo en un servidor web, todas las imagenes que llegan a un directorio específico son convertidas del formato que sean a JPG, reducidas de tamaño y se crean los thumbnails, todo esto en un script de no más de 10 lineas!

Instalamos ImageMagick:
$sudo apt-get install imagemagick

El secreto de todo está en el comando "import" que viene con ImageMagick. Podemos probarlo ahora mismo y realizar una captura:
$import screenshot.png

El cursor del ratón cambiará por una cruz, con lo cual vamos a seleccionar el area que deseamos capturar.

Ahora vamos a agregar el botón a la barra superior de GNOME. Agregamos de la misma manera como si fueramos a añadir alguna aplicación, y vamos a hacer que ejecute el siguiente comando:

import /home/usuario/Desktop/screen.png

Le añadimos un icono, un comentario, etc. Y listo!