martes, 22 de octubre de 2013

Ejemplos de nuevas acciones en el menú contextual de Nemo

En la ventana del menú contextual del administrador de archivos Nemo aparecen por defecto una serie de opciones predeterminadas, al seleccionar un directorio o archivo , que varían según el tipo de archivo o directorio seleccionado. A partir de Cinnamon 1.8, podemos añadir nuevas “acciones” en el menú contextual de Nemo, siguiendo los pasos indicados en el tema: Añadir acciones al menú contextual de Nemo

En este tema expongo, como ejemplo,  algunas de las nuevas acciones que he añadido al menú contextual de Nemo en mi sistema Mint Cinnamon.

1-Editar archivos de imagen con Pinta:

Podemos añadir una opción para editar los archivos de imagen con un editor sencillo con la acción Editar_Imagen.nemo_action para que uno, o varios,  archivos de imagen ,jpg, o .png se abran con el programa de edición de imágenes Pinta:

[Nemo Action]
Active=true
Name=Editar con Pinta
Comment=Edición sencilla de imágenes con Pinta
Exec=pinta %F
Icon-Name=pinta
Selection=Any
Extensions=jpg;png;



Si en vez de Pinta tenemos otro editor sencillo de imágenes  favorito podemos crear una acción similar, solamente poniendo en los campos Exec e Icon-name el nombre del ejecutable de dicho editor, y cambiando por el nombre adecuado en los campos Name y Comment.

----------------------------------------------------

2-Adjuntar archivos a Sylpheed:

En Nemo por defecto no existe la opción "Enviar a" que nos permitia en Nautilus enviar un archivo bien por correo como archivo adjunto, o bien por bluetooth; tampoco podemos añadirsela instalado un paquete similar a nautilus-sendto, ya que no existe el paquete nemo-sendto, por lo que he optado por crear dos acciones nuevas para el menú contextual de Nemo: una para enviar archivos como adjuntos a traves del programa que uso como correo electrónico (Sylpheed ) , y otra acción para enviar archivos a través de bluetooth.

En este ejemplo se ha añadido una opción (-- attach %F)  al ejecutable, de forma que desde Nemo elegimos uno o varios archivos con una extensión cualquiera, y con la acción Adjuntar_a_Correo.nemo_action se abre el programa Sylpheed en la ventana de enviar, con los archivos seleccionados adjuntados.

[Nemo Action]
Active=true
Name=Adjuntar a Correo
Comment=Los archivos seleccionados se adjuntan en la ventana de Enviar Correo de Sylpheed
Exec=sylpheed --attach "%F"      
Icon-Name=sylpheed
Selection=Any
Extensions=any

----------------------------------------------

3-Enviar archivos de imágenes y sonido por bluetooth:

En este ejemplo, hemos instalado primero el paquete blueman y hemos puesto en el campo Exec el comando blueman-sendto %F ; de forma que desde Nemo elegimos uno o varios archivos de imagen (.jpg .png .jpeg ) o de audio (.mp3 .ogg ), y con la acción Enviar_bluetooth.nemo_action se abre la ventana de blueman desde la que seleccionamos el dispositivo bluetooh al que se le van a enviar los archivos seleccionados desde Nemo.

[Nemo Action]
Active=true
Name=Enviar por bluetooth
Comment=Enviar archivos de imagen y/o sonido por bluetooth
Exec=blueman-sendto %F
Icon-Name=bluetooth
Selection=Any
Extensions=jpg;png;jpeg;mp3;ogg;


---------------------------------------------

4-Oir música con Audacious:

Audacious es mi reproductor de archivos de música favorito, por la  simplicidad de su interfaz gráfica. Con la siguiente acción, Reproducir_música.nemo_action, añadida al menú contextual de Nemo se puede elegir reproducir con Audacious, o un solo archivo, o varios, o uno o varios directorios con archivos de música, o una mezcla de ambas cosas. Para que al abrir Audacious se abra la lista de reproducción debe de estar seleccionada en Audacious->Ver->Mostrar el editor de lista de reproducción.

[Nemo Action]
Active=true
Name=Reproducir Música
Comment=reproducir archivos y/o directorios de música
Exec=audacious %F
Icon-Name=audacious
Selection=Any
Extensions=dir;mp3;ogg;

Si en vez de Audacious tenemos otro reproductor de música favorito podemos crear una acción similar, solamente poniendo en los campos Exec e Icon-name el nombre del ejecutable de dicho reproductor.

---------------------------------------------

5-Reiniciar Nemo:

Aveces debemos reiniciar Nemo para que algún cambio en él se lleve a cabo, esto normalmente se puede hacer saliendo de la sesión gráfica y volviendo a entrar en ella, o bien ejecutando un script reiniciar-nemo.sh :

#!/bin/bash
# Script para reiniciar nemo
nemo -q           ( salimos del administrador de archivos)
sleep 4s            ( esperamos 4 segundos )
nemo                ( volvemos a ejecutar Nemo)

Una vez creado el script podemos añadir una acción, Reiniciar_Nemo.nemo_action, en el menú contextual de Nemo, para poderlo ejecutar desde cualquier dirección en la que estemos: Si el script lo guardamos en la carpeta de las acciones de Nemo ( /home/nicasio/.local/share/nemo/actions ) , en el campo Exec pondremos Exec=<reiniciar-nemo.sh> ; si el script esta en otro directorio, hay que poner la dirección completa en donde este, por ejemplo: Exec=/home/usuario/.local/share/nemo/actions/reiniciar-nemo.sh

[Nemo Action]
Active=true
Name=Reiniciar Nemo
Comment=Reiniciar Nemo
Exec=<reiniciar-nemo.sh>       ( Si el script está en la carpeta de las acciones de Nemo )
Icon-Name=nemo
Selection=Any
Extensions=any

o

[Nemo Action]
Active=true
Name=Reiniciar Nemo
Comment=Reiniciar Nemo
Exec=/home/usuario/.local/share/nemo/actions/reiniciar-nemo.sh  ( Si está en otro directorio )
Icon-Name=nemo
Selection=Any
Extensions=any

---------------------------------------------

6- Descomprimir archivos .rar:

En Nemo hay una acción por defecto para poder elegir uno o varios archivos y directorios, y crear un archivo comprimido, y también otra acción para elegir un archivo comprimido y abrirlo con File-roller. Con la acción siguiente - descomprimir-rar.nemo_action - se puede elegir un archivo comprimido en formato .rar y descomprimirlo automáticamente en el Escritorio del usuario.

[Nemo Action]
Active=true
Name=Descomprimir
Comment=Descomprimir en el Escritorio
Exec=unrar x %F /home/usuario/Escritorio
Icon-Name=file-roller
Selection=S
Extensions=rar;

Hay que tener instalados los paquetes rar , unrar, y unrar-free



---------------------------------------------

7- Descomprimir archivos .zip:

De forma similar a la anterior podemos crear una acción - descomprimir-zip.nemo_action - que nos descomprima en el Escritorio del usuario el contenido de un archivo .zip seleccionado desde el menú contextual de Nemo; con ello ya tendremos las dos acciones para descomprimir los dos tipos de archivos comprimidos mas frecuentes.

[Nemo Action]
Active=true
Name=Descomprimir
Comment=Descomprimir en Escritorio
Exec=unzip %F -d /home/nicasio/Escritorio
Icon-Name=file-roller
Selection=S
Extensions=zip;

Hay que tener instalados los paquetes zip y unzip

---------------------------------------------

8-Descomprimir otro tipo de archivos comprimidos:

En http://doutdex.wordpress.com/2008/04/28/comprimir-y-descomprimir-rargzipziptartargzbz2-lha-zoo-en-linux-comando-consola/  podemos ver los comandos que se podrían usar para crear acciones en el menú contextual, para descomprimir otro tipo de archivos comprimidos, con otras extensiones; para ello habría que modificar el comando en Exec=  , y el nombre de la extensión en Extensions=

Por ejemplo, con esta acción - descomprimir-tar.nemo_action - podemos descomprimir un archivo .tar en la carpeta del usuario.

[Nemo Action]
Active=true
Name=Descomprimir
Comment=Descomprimir en la carpeta del Usuario
Exec=tar xvf %F
Icon-Name=file-roller
Selection=S
Extensions=tar;

---------------------------------------------
Editado/añadido:
Para que una vez creada una nueva acción de Nemo, aparezca en el menú contextual, el archivo de la acción debe de tener permisos de ejecución, como se ve en la siguiente imagen:



y se debe reiniciar Nemo: Reiniciar el administrador de archivos

9 comentarios:

  1. Hola, felicidades por el blog.


    Me gustaría añadir una opción en el menú contextual de nemo para poder formatear las memorias usb directamente sin tener que recurrir a gparted o o bien al formateador de memorias usb que trae por defecto linux mint 17 cinamon o bien que la opción formateador de memorias usb se pudiera elegir desde el meú contexteual de nemo.

    He creado el script formatear-usb.nemo_action con la siguiente sintaxis:


    [Nemo Action]
    Active=true
    Exec=mintstick -m format "%F"
    Icon-Name=media-removable
    Selection=S
    Name=Formatear USB8

    he reiniciado el PC pero no me aparece la opción de formatear usb en el menú contextual del filemanager nemo. (Linux Mint 17 Cinnamon)

    Es correcta la sintaxis?
    ¿Es posible añadir esta opción en el menú contextual?

    Gracias de antemano.

    ResponderEliminar
  2. En mi sistema Mint 17 Cinnamon 64 bits, si que aparece una nueva opción en el menú contextual , tras crear el archivo formatear-usb.nemo_action , con el siguiente contenido:

    [Nemo Action]
    Active=true
    Name=Formatear-USB
    Comment=Formatear-USB
    Exec=/usr/bin/mintstick -m format "%F"
    Icon-Name=nemo
    Selection=Any
    Extensions=any

    El archivo tiene que tener permisos de lectura, escritura y ejecución, y tiene que reiniciarse Nemo para que aparezca la nueva opción en el menú contextual.

    ResponderEliminar
  3. Hola Nicasio,

    tienes razón en la ruta /usr/share/nemo/actions si que esta el script de formateo usb tal como lo has puesto:

    [Nemo Action]
    Active=true
    Exec=/usr/bin/mintstick -m format "%F"
    Icon-Name=nemo
    Selection=Any
    Extensions=Any
    Name=Formatear USB


    y tengo los siguientes permisos:

    Propietario: root
    acceso: lectura y escritura

    grupo: users
    acceso: lectura y escritura

    otros
    acceso: lectura y escritura
    Tengo desmarcada la opción "permitir ejecutar el archivo como un programa"

    Aún así cunado conecto una memoria usb, en el menú contextual no aparece la opción de formatear usb, en cambio aparecen las opciones montar y expulsar dispositivo de forma segura.

    No se que puede ser...

    cualquier ayuda es buena.

    Gracias.

    ResponderEliminar
    Respuestas
    1. Un script, o en este caso una acción para Nemo , tiene que tener permisos de ejecución. Tiene que tener marcada la opción "permitir ejecutar el archivo como un programa"
      Tanto el Propietario como el Grupo debe de ser el nombre de tu usuario, no Root, ni users

      Eliminar
    2. Para que aparezcan en Nemo los permisos de forma que se puedan modificar totalmente a nuestro gusto, hay que ejecutar primero el editor de configuración ( dconf-editor - hay que instalar el paquete dconf-tools): dconf-editor ->org -> nemo -> preferences: Activar show_advanced_permissions

      Eliminar
  4. Gracias Nicasio,

    He instalado el dconf-editor, he activado el show_advanced permisions y he assignado la acción para nemo marcada la opción "permitir ejecutar el archivo como un programa" he asignado el propietario como el Grupo mi usuario y con permisos de ejecución y escritura.

    Tampoco aparece la dichosa acción.

    ResponderEliminar
  5. He editado el tema para que veas como deben de estar los permisos de un archivo de una acción de Nemo
    Una vez hecho todo eso, ¿ has reiniciado Nemo, para que la nueva acción aparezca en el menú contextual ?.
    Nemo se reinicia, o bien saliendo de la sesión gráfica y volviendo a entrar, o bien ejecutando en la terminal los comandos ( entre uno y otro deja que pasen algunos segundos:
    nemo -q ( para cerrar nemo)
    nemo ( para volver a abrirlo )

    ResponderEliminar
  6. Muchas gracias Nicasio,

    ya me ha salido la opción.

    Mi error era que seleccionaba el icono de usb y con el menú contextual esperaba que me saliera la opción de formatear y luego he visto que esta opción sale con el menú contextual sin seleccionar el icono.

    Muchas gracias.

    ResponderEliminar

A la vez que haces un comentario, por favor da una puntuación al tema: malo, normal, bueno o muy bueno.
Gracias.