Ya hablé de nautilus-actions, una utilidad para añadir acciones al menú contextual de Nautilus, el administrador de ficheros de Gnome. Y en esta ocasión lo vamos a utilizar para añadir la acción de convertir una imagen de CD en formato BIN/CUE o MDF a ISO.
Shell Script
Para ello, primero deberemos crear un script de shell que haga el proceso, ayudándonos del paquete mdf2iso y de zenity, que contiene el comando gdialog, para mostrar los diálogos que se necesitan.
Creamos el script convert2iso.sh en ~/bin, con el siguiente contenido:
convert2iso.sh
#!/bin/sh # comprobamos que existan los paquetes que necesitamos [ ! -f `which mdf2iso` ] && echo "Se necesita el paquete mdf2iso. Ejecute sudo apt-get install mdf2iso zenity." && exit 1 [ ! -f `which gdialog` ] && echo "Se necesita el paquete zenity. Ejecute sudo apt-get install mdf2iso zenity." && exit 1 # parámetros SOURCE=$1 shift TARGET=$@ [ -z "$TARGET" ] && TARGET="${SOURCE}.iso" # obtenemos nombre del fichero TARGET=$(gdialog --title "Convertir a ISO" --inputbox "Nombre del fichero destino:" 100 100 "${TARGET}" 2>&1) if [ -z "$TARGET" ]; then exit 1 else gdialog --title "Advertencia" --yesno "Se va convertir el fichero $SOURCE en $TARGET. ¿Desea continuar?" 100 100 if [ $? -eq 0 ]; then mdf2iso $SOURCE $TARGET gdialog --title "Resultado de la operación" --msgbox "El fichero ha sido convertido a ISO" 100 100 else gdialog --title "Resultado" --msgbox "Se ha cancelado la operación." 100 100 fi fi
Como podemos ver, el script se encarga de recoger un primer parámetro con la ruta al fichero MDF o BIN a convertir (#8), y un segundo parámetro opcional con el fichero destino (#9-11), que en la acción nautilus no vamos a utilizar.
Con gdialog mostramos una ventana de diálogo para que el usuario introduzca el nombre del fichero destino (#14). Si introdujo un texto (#15) continuamos, y pedimos confirmación de nuevo con la ayuda de gdialog (#18). Si se produce la confirmación ejecutamos el comando mdf2iso, y mostramos otra ventana de diálogo confirmando la finalización del proceso.
Le damos permisos de ejecución a nuestro script con:
$ chmod +x ~/bin/convert2iso.sh
Acción Nautilus
Ahora abrimos nautilus-actions, que se encuentra en Sistema – Preferencias – Configuración de acciones de Nautilus.
Pulsamos el botón Añadir, y en la pestaña “Elementos del menú y acción” rellenamos los campos con estos valores:
- Etiqueta: Convertir a ISO
- Consejo: No consumas pron!
- Icono: gtk-cdrom
- Ruta: ~/bin/convert2iso.sh (o mejor aún: /home/tu_usuario/bin/convert2iso.sh).
- Parámetros: %M
En la pestaña “Condiciones“:
- Filenames: *.bin; *.mdf
Y en la pestaña “Advanced Conditions” seleccionamos “Archivos locales file“.
Aceptamos, y reiniciamos Nautilus. Buscamos un fichero BIN o MDF, le damos al botón derecho, y voila!
¿Quién ha dicho que el software libre no es maravilloso? ;)
Javier Pérez