lunes, 28 de octubre de 2013

Integrar el antivirus Avast en Nemo

Tener instalado un antivirus en Linux en realidad solo sirve para verificar que no tienes virus que vayan a afectar a Windows: , para no enviarlos a tus amigos que usan ese sistema, o compartirlos a través de un pendrive, o afectar a tu pc si en él tienes ambos sistemas operativos, Windows y Linux , o a una red casera con Linux en un pc  y Windows en otro. Si solo usas Linux y nada mas que Linux, y no compartes archivos con nadie, no te sirve de mucho tener un antivirus.

En un documento que lei hace tiempo, y que lamentablemente ya no esta disponible en la dirección en la que lo encontré (  http://www.iberprensa.com/todolinux/articulos/TL89_reporvirus.pdf  )  (*) aclaraba mucho sobre virus en general y en Linux en particular.   (*) Ahora se puede descargar desde: http://foro.ubuntu-guia.com/file/n4034652/TL89_reporvirus.pdf
Lo mas claro que dice ese documento:
“Mi experiencia como administrador: En más de diez años que llevo administrando Linux, con instalaciones en cientos de máquinas de centros de cálculo, laboratorios de alumnos, empresas, etc, nunca me ha “entrado” un virus, nunca he conocido a alguien que le haya ocurrido, nunca he conocido a alguien que haya conocido a alguien que le haya ocurrido. Conozco a más gente que ha visto al monstruo del Lago Ness a que haya visto virus para Linux.”
Se puede decir mas alto, pero no mas claro.

Instalar Avast Antivirus:

El antivirus Avast se pueden descargar desde la siguiente dirección, e instalarlo con un doble click sobre el paquete.deb ( hay que tener instalado el programa gdebi, que normalmente viene por defecto ):  http://avast-linux-home-edition.uptodown.com/ubuntu/descargar
  ( al ejecutarlo por primera vez te pide una contraseña, y para conseguirla te reenvia a una página desde la que te tienes que inscribir con tu dirección de correo, a la que luego te mandan la contraseña).

Conviene ejecutar el programa gráfico y asegurarse de que la base de datos de virus esta actualizada: En Avast->Tools->Preferencias->pestaña Update, se puede configurar como hacer la actualización de la base de datos: de forma manual desde el botón correspondiente de la interfaz gráfica, de forma automática cuando se inicia la interfaz gráfica, o solo cuando haya actualizaciones nuevas.

También se puede actualizar la base de datos de virus de Avast ejecutando en la terminal el comando: avast-update

Si tras una actualización de la base de datos no volviera a abrirse el programa, como me paso a mi una vez, ( pero solo una vez, ya que tras hacer lo que pongo a continuación ya se arregló el problema ) debemos realizar lo siguiente para solucionar el tema: 

1. Abriremos la terminal en modo root: desde Alt+F2 con el comando gksu gnome-terminal , o desde la terminal de usuario, con sudo -i
2. Tecleamos lo siguiente:
echo 128000000 > /proc/sys/kernel/shmmax
3. Luego abrimos el archivo: rcS , con gedit tecleando lo siguiente:
gedit /etc/init.d/rcS
4. Dentro de este archivo incluiremos la siguiente linea:
sysctl -w kernel.shmmax=128000000

Debe quedar así:
#! /bin/sh
# rcS
# Call all S??* scripts in /etc/rcS.d/ in numerical/alphabetical order
sysctl -w kernel.shmmax=128000000
exec /etc/init.d/rc S

5. Guardamos el archivo rcS y salimos de gedit.
7. Cerramos la terminal de root (recordar que se debe salir de la terminal de root con el comando exit )
8. Reiniciamos el PC. Luego abrimos Avast, actualizamos la base de datos de virus, y ya está.

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

Integrar Avast antivirus en Nemo:

Integrar Avast en Nemo significa que podamos usar el antivirus desde el menú contextual de Nemo, sin necesidad de abrir la interfaz gráfica de Avast.  ( Si se utiliza una distro que en vez del administrador de archivos Nemo se use Nautilus, ver: Integrar el antivirus avast en Nautilus  )

Para integrar Avast en Nemo crearemos dos nuevas acciones en el menú contextual de Nemo, una para mantener actualizada la base de datos de virus de Avast, y la otra para analizar con Avast uno o varios archivos y/o directorios, según lo explicado en el tema  Añadir acciones al menú contextual de Nemo,

1) Para integrar la actualización de la base de datos de virus en Nemo, crearemos una nueva acción actualizar-avast.nemo_action , que nos sirva para desde el menú contextual de Nemo actualizar la base de datos de virus de Avast, con el siguiente texto:

[Nemo Action]
Active=true
Name=Actualizar Antivirus Avast
Comment=Actualizar base de datos de Antivirus Avast
Exec=xterm avast-update
Icon-Name=
Selection=Any
Extensions=any

Con esto nos aparece en el menú contextual de Nemo, al seleccionar uno o varios archivos y/o directorios,  una nueva acción con la que podemos actualizar la base de datos de virus de Avast. Tras un breve espacio de tiempo en la ventana de una terminal xterm, totalmente en negro -sin prompt - , 


nos aparece un mensaje similar al de la imagen siguiente:


Y finalmente, tras otro periodo de tiempo, cuando la base de datos se actualiza, la terminal se cierra. Si la base de datos de virus esta actualizada, la terminal xterm se abre y cierra sin llegar a poder verse ningún mensaje.

2-) Para integrar el análisis de virus con Avast en Nemo crearemos una nueva acción, analizar_con_antivirus_avast.nemo_action ,  en el menú contextual de Nemo, con el siguiente texto:

[Nemo Action]
Active=true
Name=Antivirus
Comment=antivirus
Exec=xterm -hold -e avast -p3 %F
Icon-Name=
Selection=Any
Extensions=any

La opción -p3 indica que Avast analiza el archivo seleccionado, y si está infectado lo intenta reparar. Si queremos que Avast en vez de intentar reparar el archivo, elimine los archivos infectados, debemos poner la opción -p1  (  opción -p3 = analizar y reparar ; opción -p1 = analizar y eliminar ) 

Con esto nos aparece en el menú contextual de Nemo, al seleccionar uno o varios archivos y/o directorios,   una nueva acción con la que podemos analizar en busca de virus en uno o varios archivos y/o directorios. Tras un breve espacio de tiempo en la ventana de una terminal xterm, totalmente en negro - sin prompt- similar a la vista anteriormente ,  nos aparece un mensaje similar al de la imagen siguiente:




De esta forma aparecen en Nemo dos nuevas acciones en el menú contextual al seleccionar uno o varios archivos y/o directorios.


Aconsejo primero usar la acción de Actualizar la base de datos de virus, y luego la acción de Analizar el o los archivos o directorios en busca de virus.

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


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

viernes, 18 de octubre de 2013

Añadir acciones al menú contextual de Nemo

El menú contextual en un administrador de archivos es la ventana que se abre cuando hacemos clic con el botón secundario del ratón al seleccionar un directorio o archivo y que varia según el tipo de archivo o directorio seleccionado. Cuando abrimos el menú contextual pinchando con el botón derecho del ratón (el izquierdo si lo tienes configurado para zurdos) obtenemos una ventana en la que se encuentran multitud de opciones/acciones como crear una carpeta o acceso directo, comprimir un archivo, copiar, mover, eliminar , ejecutar scripts, abrir con...etc, y todo esto podremos hacerlo directamente y sin tener que abrir con antelación el programa implicado en la acción seleccionada.

Tanto en Nautilus como en Nemo aparecen por defecto una serie de opciones que realizan acciones predeterminadas; podemos añadir nuevas acciones al menú contextual.

En Nautilus se pueden añadir acciones al menú contextual instalando desde Synaptic el paquete nautilus-actions, y ejecutando la interfaz gráfica de dicho programa: /usr/bin/nautilus-actions-config-tool  (ver mas detalles en  añadir acciones al menú contextual/)

Sintaxis general de una nueva acción en el menú contextual en Nemo:

En Nemo no existe el paquete nemo-actions, pero a partir de Cinnamon 1.8, podemos añadir “acciones” en el menú contextual de Nemo si las añadimos al directorio: /usr/share/nemo/actions (Si se guardan ahí estarán disponibles para todos los usuarios) o al directorio /home/usuario/.local/share/nemo/actions ( en este caso estarán disponibles solo para ese usuario; con lo que se puede hacer que distintos usuarios tengan distintas acciones añadidas en el menú contextual de Nemo). Para ello creamos en esos directorios un archivo de texto con el nombre general: extensión.nemo_action , y el contenido con la sintaxis que se explica a continuación.

Vamos a ver un resumen de la sintaxis de una nueva acción en el menú contextual en Nemo, con un ejemplo, la acción Abrir_Videolan.nemo_action, como explicación y ayuda ( en verde he puesto cada uno de los campos que forman la sintaxis de este archivo, y a continuación,entre paréntesis una pequeña explicación)::

[Nemo Action]
Active=true
Name=Abrir  Videolan  (sera el nombre del menú contextual que aparecerá en Nemo)
Comment=abrir videolan  ( Comentario que aparece en la barra de estado de Nemo; podemos poner lo que queramos  )
Exec=vlc        ( ejecutable del programa que queremos que se ejecute; en este caso Videolan)
Icon-Name= vlc ( aparece el icono de videolan; si no ponemos nada no aparece ningún icono)
Selection=S    ( S si queremos usar la acción con un solo archivo, o M con múltiples archivos; o Any  - con la A en mayúscula - si queremos que se ejecute tanto si seleccionamos uno o múltiples)
Extensions=avi;mpg;flv;mp4;mp3;ogg;  ( extensiones de los archivos sobre los que aparecerá la nueva acción; si se quiere que se ejecute la acción con un archivo con una extensión cualquiera hay que poner Extensions=any - en minúsculas )

Con lo que desde Nemo seleccionando un archivo que tenga una de las extensiones indicadas ( o cualquier archivo si hemos puesto Extensions=any ) aparece una nueva acción contextual con la que se abre el programa, pero no se reproduce el archivo que se seleccionó.

Si queremos que además de iniciarse el programa se inicie la reproducción de un archivo de los que tienen las extensiones seleccionadas, en la linea Exec habrá que poner: Exec=vlc %F ; en la línea Name= Reproducir con Videolan , y en Comment= reproducir archivo multimedia con Videolan

Para que esto funcione correctamente el nombre del archivo seleccionado no debe de tener espacios en él; por ejemplo con un archivo que se llame let it be.mp3 no funcionara, para que funcione se debe llamar por ejemplo let_it_be.mp3




Para ver mas posibles opciones ver el contenido del siguiente archivo ( está en ingles ): gedit /usr/share/nemo/actions/sample.nemo_action  (*)

(*) Aquí una traducción mas o menos libre de ese archivo:

[ Nemo Acción]

Campo Active:
La opción Active es para activar (true)  o desactivar (false) la acción/extensión. Si no se indica se asume que está activa, está opción está más que nada para cuando se tiene problemas con Nemo y se cree que pudiese ser por causa de alguna extensión.

Ejemplo:
Active=false  ( o true )

Campo Name:
La opción Name es el nombre que se mostrará en el menú contextual y es una opción obligatoria. Se puede usar el parámetro %N para que muestre el nombre del archivo que se tenga seleccionado, pero no funciona si en el campo Selection se ha puesto múltiple (M), None o Any, en esos casos mostrará la opción %N. Si se seleccionan múltiples archivos , entonces se utilizará arbitrariamente el nombre de un archivo seleccionado.

Ejemplo:
Name=Adjuntar para enviar por correo

Campo Comment:
Comentario que aparece en la barra de estado de Nemo. El parámetro % N se puede utilizar como con el campo Nombre , aplicándose las mismas reglas.

Ejemplo:
Comment=los archivos seleccionados aparecerán en la ventana de escribir texto del correo, del programa de correo, como archivos adjuntos

Campo Exec:
Otro campo obligatorio, en este se especifica el comando a ejecutar y el/los parámetro/s que se le pasará, el/los cual/es puede/n ser %F (para una lista de archivos) o %U (se le pasará la lista URI de la selección). Encierre entre < > para ejecutar un archivo ejecutable ( vg myaction.py )que se encuentra en la carpeta de acciones ( /home/usuario/.local/share/nemo/actions). Si el ejecutable es un script que no esta en la carpeta de acciones se debe poner la dirección completa.

Ejemplos:
Exec= <myaction.py -r -g %F>
Exec=/home/usuario/Scripts/reiniciar-nemo.sh
Exec=vlc %F
Exec=sylpheed --attach %F

Campo Icon-Name:
Nombre del icono a utilizar en el menú - debe ser un tema de nombre del icono.

Ejemplo:
Icon-Name =folder

Gtk Stock ID a utilizar para el icono. Tenga en cuenta que si ambos Icono-Name y Stock-Id están definidos Stock-Id tiene prioridad.

Ejemplo:
Stock-Id = gtk -cdrom

Puede dejarse en blanco, Icon-Name=        , y de esta forma no aparecerá ningún icono en la acción añadida al menú contextual

Campo Selection:
El tipo de selección para la cual debe aparecer la acción, acepta valores de solo un archivo (S), múltiples (M), cualquiera (Any), (NotNone) ¿?, o ninguno (None) - que es cuando se hace click en un espacio vacío del navegador- ; o un numero que defina cuántos archivos deben estar seleccionados para que aparezca la acción. Si no se pone nada, el valor predeterminado es S

Ejemplos:
Selection=S
Selection=M
Selection=Any

Campo Extensions:
Esta opción es obligatoria.Hay que poner la extensión del archivo, o de los archivos, para la cual debe estar activa la acción. No es sensible a mayúsculas o minúsculas: es lo mismo poner jpg que JPG, jPg, jpg, etc... Se ponen las extensiones, separadas por ; y acabando también en ;
Use dir para selección de un directorio y none para archivos sin extensión
Use any seguido de ; para cualquier tipo de extensión de archivos

Ejemplos:
Extensions=any;
Extensions=mp3;ogg;
Extensions=dir;
Extensions=dir;mp3;ogg;

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

En este tema hay mas ejemplos de Acciones en el menú contextual de Nemo:  Ejemplos de nuevas acciones en el menú contextual de Nemo
-------------------------------------------------------------------