Cryptkeeper: Cómo encriptar/desencriptar carpetas de forma transparente

-

En realidad este post debería titularse EncFS y no Cryptkeeper puesto que este último no es más que un frontend que se encarga de realizar el "trabajo sucio" (léase unos cuantos comandos en la consola). Una vez instalado y configurado todo podremos encriptar y desencriptar directorios completos de forma transparente, de forma que los cambios que con añadir un elemento a nuestra carpeta éste se encripte automáticamente. De esta forma podremos mantener la confidencialidad en aquellos datos de naturaleza más sensible, que todo tenemos.

EncFS se basa a su vez en FUSE (Filesystem in Userspace), un módulo incluido en el kernel desde la versión Kernel 2.6.14 en adelante que permite a los usuarios sin privilegios montar sus propios sistemas de archivos. El sistema de funcionamiento de EncFS es muy sencillo y se basa en dos carpetas; en una se encuentran los archivos y subcarpetas encriptados y en la otra se montan los archivos una vez desencriptados. Todo este proceso se realiza de forma transparente para el usuario. Éste básicamente sólo tendrá que crear una carpeta encriptada con sus correspondientes opciones de cifrado y, una vez configurado, montarlo "en limpio" en una determinada carpeta. El programa se encarga de copiar y cifrar los nuevos archivos que introduzcamos en la carpeta en limpio, así como el resto de operaciones como borrar, renombrar, etc. Luego al desmontar el volumen, el programa borrará la carpeta desencriptada, dejando únicamente aquella que contiene los archivos cifrados.

Como en la actualidad progreso = mayor comodidad, vamos a progresar con nuestro proyecto de cifrado/descifrado haciéndolo más accesible. Instalaremos Cryptkeeper, que como ya hemos visto es un frontend para EncFS. Se va a encargar de crear nuevos directorios encriptados, desencriptarlos/montarlos y desmontarlos, todo ello con tan sólo un par de clicks.

INSTALACIÓN

  1. Instalar EncFS:

    sudo aptitude install encfs

  2. Configurar FUSE:

  3. sudo su
    echo "fuse" >> /etc/modules
    modprobe fuse
    addgroup tu_nombre_de_usuario fuse

    A continuación reinicia el sistema (sé que no es lo normal pero a mi por lo menos no me quedó más remedio).

  4. Instalar Cryptkeeper:

    Deberemos bajarnos el paquete deb desde la página de getdeb e instalarlo.

Ya tenemos todo instalado, ahora veamos cómo utilizarlo. Abrimos Crytkeeper, que se encuentra en Aplicaciones > Herramientas del sistema > Cryptkeeper, aparecerá un icono con forma de candado en el área de notificación. Si hacemos click sobre ese icono se nos despliega un menú con las principales funciones del programa. Si ya tenemos creado y añadido al programa algún directorio encriptado nos aparecerá en el menú con una casilla de activación a la izquierda que indica si está montado/desencriptado o no. Para alternar entre montado o no basta con hacer click en el elemento en cuestión. Al montar un directorio se nos abrirá automáticamente en una ventana de nautilus (por defecto) y al desmontarlo se borrará la carpeta en limpio. Así de sencillo.


Para crear un nuevo directorio utilizaremos la función New encrypted folder:


Simplemente introducimos un nombre y una localización para la carpeta donde se montará el sistema de archivos y el programa se encargará del resto. La función Import EncFS folder permite añadir a Cryptkeeper carpetas creadas anteriormente mediante comandos.

Esto es todo, a disfrutar de un poco de confidencialidad e intimidad.

Enlaces de referencia:
Página oficial de EncFS
Página oficial de Cryptkeeper
Post acerca de EncFS en beGNU

Seguir leyendo...

Herramientas imprescindibles en tu Ubuntu II: StarDict

-

¿Quién no ha echado mano alguna vez de un diccionario? Todos lo hemos hecho casi con toda seguridad. Ahora bien, estamos en el siglo XXI, los diccionarios en papel sólo tienen sentido como compañeros de viaje. En nuestro ordenador no puede faltarnos una herramienta tan últil como ésta.

Ubuntu nos instala un diccionario, pero con el inconveniente de que es online. Es decir, si no disponemos de conexión a internet, o bien tenemos la mula pastando a doble carrillo, pierde gran parte de su utilidad. Es por esto que busqué diccionarios "offline" durante una temporada hasta que dí con StarDict.

Más que un diccionario de por si, StarDict es un motor de diccionarios, ya que necesitaremos, además de instalar el programa, descargar uno o más diccionarios. Es software libre licenciado bajo GPL.

Es un diccionario a la antigua usanza y sólo permite buscar palabras o términos y no traducir páginas o pasajes enteros

Frente a otros diccionarios, la interfaz de stardict es sensacional. Al ejecutarlo se añade un icono al área de notificación y tendremos dos formas distintas de buscar en el diccionario.


La primera, más tradicional, consiste en abrir la ventana del programa y allí buscar la expresión en cuestión. Mientras vamos escribiendo una barra en la izquierda nos muestra los términos que encajan con ese prefijo.


La segunda forma es infinitamente más práctica y es la que, para mi, hace que StarDict sea la opción a escoger. Si desde cualquier parte del sistema seleccionamos una palabra o término y pulsamos la tecla WIN (la que se encuentra entre Ctrl y Alt) StarDict nos mostrará un cuadro con los resultados de la búsqueda en los distintos diccionarios que tengamos instalados. Es posible incluso hace que una amable señorita de intachable pronunciación la lea para nuestro disfrute.


StarDict se encuentra disponible en los repositorios oficiales de Ubuntu, así que su instalación es pan comido, bien de forma gráfica o por medio de la consola del sistema:

sudo aptitude install stardict

Para instalar los diccionarios iremos a la correspondiente sección de la página del programa y nos descargamos los que nos interesen y luego los descomprimimos y movemos su contenido a la carpeta /usr/share/stardict/dic. Recomiendo los diccionarios: jdict, quick_eng-spa, Collins, Longman, Oxford y Britannica. Luego existen una serie de diccionarios específicos de finanzas, informática, etc.

Para que el progama pueda pronunciar la palabra buscada es necesario descargarse el archivo WyabdcRealPeopleTTS.tar.bz2 y descomprimirlo en /usr/share/.



Seguir leyendo...

Herramientas imprescindibles en tu Ubuntu I: Glipper

-

Glipper es un gestor del portapapeles del sistema, de forma que va almacenando los contenidos del mismo cada vez que realizamos un cambio. Básicamente veremos un pequeño icono con forma de portapapeles en el área de notificaciones.


Cuando queramos retomar un contenido previo del portapapeles pinchamos sobre el icono y nos mostrará un listado con los últimos contenidos copiados (el número de elementos almacenados podemos fijarlo en las opciones). También dispone de un atajo de teclado configurable, por defecto CRTL+ALT+C.


¡Ojo! Sólo almacena contenido de tipo texto.

Glipper almacena de dos tipos de eventos: cuando copiamos un fragmento de texto (el clásico copiar) o cuando lo seleccionamos (él le llama "Select"). Yo desactivé la opción de que guarde el contenido solamente seleccionado.


Almacena el contenido incluso después de apagado el PC. Aunque siempre es posible borrar el historial.

Yo en windows nunca usé este tipo de programas, lo instalé en Edgy un día trasteando. Desde entonces me resulta imprescindible y me ha salvado de más de un apuro. Ejemplos prácticos de cuando resulta de ayuda:
  • Recuperar un dato importante que había copiado días atrás.
  • Recuperar un dato sobreescrito sin querer.
  • Copiar dos campos de un mismo registro/entidad: ejemplo el nombre y la dirección de una página.
  • Copiar varios datos de una misma página para pegarlos en otro lugar sin necesidad de andar alternando entre ventanas.

El programa se encuentra en los repositorios de Ubuntu, así que instalarlo resulta la mar de sencillo. Podemos hacerlo mediante Agregar o quitar..., desde Synaptic o mediante el siguiente comando:

sudo aptitude install glipper

Seguir leyendo...

Seguimos con más estrategia: Go

-

Después de adentrarnos en el apasionante mundo del ajedrez y de ver cómo jugar a éste online contra nuestros amigos, voy a hablaros de otro juego milenario, más aún que el ajedrez, el Go.

El Go es un juego de mesa por turnos de carácter estratégico. Según la Wikipedia:

Su nombre Go, como es conocido en occidente, es el que recibe en Japón, y su origen es incierto. El "cercado" es la traducción castellana, hecha por Ambrosio Wang An-po, pues wei quiere decir cercar, rodear o bloquear, y en este "juego de rodear" precisamente se trata de cercar o rodear territorios entre dos contricantes.


Si bien puede parecer un juego sencillo teniendo en cuenta que tan sólo cuenta con 6 reglas básicas, la complejidad que llega a alcanzar es tal que, al contrario que para el ajedrez, la IA más avanzada no es quien de vencer a un jugador avanzado de Go. Si queréis saber más acerca de la historia y el funcionamiento del juego, al final del post os dejo unos enlaces interesantes. Ahora me centraré en los programas de Go para linux, dejando a un lado los aspectos antes mencionados.

De entre todos los clientes de Go para linux los que más me han gustado son éstos:


GnuGo

Funciona tanto como cliente como motor de IA, de hecho los programas que citaré a continuación lo emplearán como rival en el juego individual. No tiene GUI, funciona en la consola, por lo que lo usaremos sólamente como motor de Go junto con un programa que haga de interfaz. Se encuentra en los repositorios oficiales de Ubuntu.



Quarry

En realidad Quarry es más que un juego de Go, es una colección de juegos de tablero que incluye:
Go, amazon y reversi. Aunque en este caso lo que nos interesa es el módulo de Go. El juego luce genial y se integra perfectamente en un escritorio gnome.


El problema principal de Quarry son los motores de IA, ya que sólo he sido capaz de utilizar gnugo, relegando a amazon y reversi al modo para dos jugadores. Además por sí sólo el programa no detecta gnugo, y es necesario añadirlo manualmente dentro del menú de Preferencias. Sencillamente vamos a la sección GTP Engines y añadimos gnuchess tal y como muestra la siguiente captura.


Otra cosa que hecho en falta es la posibilidad de jugar a través de internet, cosa que sí hacen otros programas, como los que siguen. Puede instalarse fácilmente desde los repositorios oficiales de Ubuntu.


qGo

Es un completo cliente que permite jugar contra gnugo o conectarse a IGS para jugar contra otros internautas. En mi caso, el usar librerías qt es un inconveniente porque rompe un poco la armonía estética de mi escritorio (que nadie se enfade). Aquí va una captura:



glGo

GlGo es el uno de los clientes que recomienda y mantiene Panda-net, los responsables del servidor de Go IGS, al que por cierto podremos conectarnos, al igual que ocurría con qgo. El juego luce fenomenal y funciona a las mil maravillas tanto contra gnugo (sin tener que configurar nada) como en red. A continuación os dejo unas capturas del juego en funcionamiento:


Observando una partida en IGS con tablero en 3D


Observando una partida en IGS con tablero en 2D

Instalación:

Simplemente nos bajamos el .deb o el .autopakage de la página de descargas siguiente:


Yo usé el paquete Debian, pero si queréis podéis probar el autopakage o directamente compilarlo. En principio debería instalar sin problemas. Pero lo cierto es que el juego tiene un defecto de traducción y algunas de las opciones de la barra de herramientas no muestra texto, aunque en sí es totalmente funcional.

Una vez instalado, por defecto no creará ningún lanzador en el menú, así que tendremos que añadirlo nosotros mismos. Para ello sencillamente ejectaremos el siguiente programa:

sudo gedit /usr/share/applications/glgo.desktop

luego introducimos el siguiente texto y guardamos.

[Desktop Entry]
Encoding=glGo
Name=Eboard
GenericName=Board Game GUI
Comment=Juego de Go en 2D y 3D con soporte para juego online
Exec=/usr/games/glGo
Icon=/usr/share/doc/glGo/html/images/gnugo_logo.jpg
Terminal=false
Type=Application
Version=0.2.0
Categories=Application;GTK;GNOME;Game;BoardGame;
StartupNotify=true
MimeType=application/x-go-sgf;text/sgf;text/x-sgf;

Para poner el tablero el tres dimensiones vamos a las opciones del juego y ponemos tipo de tablero OpenGL (3D), reiniciamos y listo. Para moverlo pulsamos Control y movemos el ratón para girar la cámara o movemos la rueda para hacer zoom, para movernos horizontal y verticalmente pulsamos Shift e igualmente movemos el ratón.

Enlaces:

Versión en pdf del libro
El Cercado, pionero del Go en castellano
Curso en pdf de la Asociación Americana de Go (en inglés)
Asociación española de Go
Página sobre Go con historia, software, material y enlaces
Escuela de Go (el nombre lo dice todo)
Web personal con mucha información y enlaces
Página web del servidor IGS

Seguir leyendo...

Ajedrez: adentrándonos en FICS

-

En el post anterior vimos cómo instalar los programas necesarios para jugar al ajedrez contra otro humano allén de los mares. Ahora es momento de explicar cómo movernos por FICS cual pez en el agua (dramatización).

Antes de nada, espero que ya estéis registrados en FICS puesto que es gratis y te permite servicios como almacenar tus partidas y estadísticas, mandarlas al correo o entrar en los rankings. A mi personalmente por lo que más me interesa es por poder guardar una partida sin terminar (por ejemplo si se hace tarde y hay que irse a la sobar) y, en menor medida, para hacer un seguimiento de mis partidas.

FICS tiene el inconveniente de que no deja registrarse bajo una cuenta de correo electrónico tipo hotmail, gmail y derivados


Tanto Jin como eboard tienen un funcionamiento muy similar y se basan en un tablero y una consola de comandos. En el tablero jugaremos, observaremos o analizaremos las partidas, mientras que en la consola haremos el resto de las cosas, esto es, crear, solicitar y unirse a partidas; guardarlas y borrarlas; hablar con otros usuarios, configurar nuestra cuenta, etc.

En realidad muchas de éstas acciones, las más frecuentes, son realizadas cómodamente mediante la interfaz gráfica (unirse a partidas, cancelarlas, hablar con otros usuarios, etc). Así que me centraré más en los comandos que deberemos realizar en la consola (que nadie se asuste, que son muy sencillitos).

Comandos FICS

La verdad es tuve que romperme la cabeza leyéndome la documentación de FICS para, finalmente,poder hacerme una chuletilla medianamente decente. Contiene los comandos a mi parecer más interesantes agrupados por categorías. Si os interesa aquí tenéis el enlace y una captura.



Chuleta comandos FICS



Si a alguien le interesa puedo subir el archivo odt original para su modificación



Apuntes acerca de las interfaces de Jin y eboard

Las diferencias en las interfaces son muy pequeñas:
  1. Jin te muestra a la derecha del tablero los movimientos realizados. Eboard, en cambio, lo muestra en una ventana accesible haciendo click en un pequeño icono con forma de lista en la esquina inferior derecha.
  2. Jin dispone de una ventana/panel que funciona a modo de mapa de las partidas a las que te puedes unir. Eboard muestra los anuncios de partidas, así como las partidas en juego (para poder observarlas), en ventanas independientes disponibles en Ventanas/Partidas en el servidor... y Ventanas/Anuncios en el servidor... respectivamente. La ventana Partidas en el cliente nos muestra todas las partiads que tenemos abiertas en este momento, tanto jugando como observando (incluidas aquellas contra la CPU).
  3. En ambos programas se chatea a través de la consola, pero eboard tiene un modo más cómodo de hacerlo: la barra de comandos tiene un botón a su izquierda que nos permite alternar entre el modo [cmd] (comandos) y el modo [chat]. Cuando nos encontremos en este último según tengamos a la vista una partida o un canal/privado mandará el mensaje a quien corresponda (equivale a los comandos say mensaje y tell #canal|usuario mensaje, respectivamente.

Voy a comentar también una serie de opciones que son interesantes a la hora de jugar online y que podemos activar fácilmente desde las preferencias de ambos programas:
  1. Avisar con un sonido cuando tu oponente haga un movimiento (si te tocó un lento o simplemente ya tienes pensada tu jugada, puedes aprovechar tu tiempo navegando o administrando tu sistema).
  2. Resaltar último movimiento (puede que cuando tu rival mueva ya no te acuerdes ni de a qué estabas jugando).
  3. Mostrar coordenadas (sólo eboard). Mejoraremos la apariencia del programa y nos resultará más fácil entender la lista de movimientos.

Enlaces relacionados
Artículo en Fentlinux también disponible en pdf

Seguir leyendo...

Ajedrez: tu Ubuntu VS El mundo

-

Hace unos días despertó mi gusto por un juego ancestral y por todos conocido, el ajedrez. Fue jugando contra un amigo en su flamante MacBook (de momento no consiguió convencerme para comprarme uno, aunque bien es cierto que el hardware me llama mucho pero... ). El caso es que jugamos unas partidas y me quedé con ganas, así que surgió la idea de jugar por Internet unas batallitas durante el no-verano (más conocido como resto del año).

Así que se me planteo un pequeño problema; siempre había oído hablar de que es muy fácil jugar al ajedrez por Internet, pero jamás me lo había propuesto. Además tenía que poder jugarse desde distintos sistemas operativos (Linux y Mac OS X, por lo menos). ¡Manos a la obra!

A modo de bricomanía esto es el "material" que necesitaba. Mejor dicho, éstas son las condiciones que debería satisfacer la salución:

  1. Disponible en Linux, Mac y puede que Windows.
  2. Posibilidad de jugar por Internet contra un amigo.
  3. Posibilidad de guardar la partida para continuarla más adelante.
  4. Software 100% libre y gratuito.

Con todo esto en mente navegué y navegué por muchas páginas hasta que descubrí FICS. FICS es uno de los muchos servidores (de hecho parte de sus siglas provienen del protocolo que utiliza, ICS, una variación del TELNET) de internet que disponibles. Pero a diferencia de otros es totalmente gratuito y dispone de muchos servicios como autoguardado de partidas, posibilidad de observar las partidas de otros, varios modos de juego, opción de enviar partidas a tu correo electrónico en formato pgn (para poder abrirlos con cualquier programa), etc. Pero una de las razones por las que me decidí por FICS es que puede utilizarse desde multitud de clientes y sistemas operativos.

¡Ya cumplimos el primer, el segundo y el tercer requisito!

Ahora era el momento de elegir los clientes, el mío Linux y el suyo Mac. Resultó bastante laborioso el mirar todos y cada uno de los programas (aspecto, características, licencia, etc...). Pero tras unas cuantas horas, ya tenía dos ganadores: Jin y eboard.

¡¡Ambos libres!! ¡Condición 4 superada! ¡TACHÁN!

Para Windows no hay que quitarle ojo a BabasChess


Jin
Es un programa realizado en Java, ésto le permite funcionar en los tres sistemas, que funciona exclusivamente como cliente de FICS. Tiene un aspecto resultón y las funcionalidades necesarias. Es el que yo elegí para Mac y Windows, pero además puede jugarse hasta desde un navegador web entrando en la página de FICS.


Para utilizarlo simplemente hay que descargarse los binarios para el sistema operativo pertinente, descomprimirlo y lanzar el ejecutable. Eso sí, es necesario tener instalado previamente el runtime de Java.

Eboard
Eboard es un maravilloso juego de ajedrez disponible para GNU/Linux. Básicamente es un cliente para varios motores de ajedrez (Inteligencias Artificiales, vaya) que nos va a permitir disputar emocionantes partidas contra nuestro ordenador. Pero además cuenta con una característica para mí fundamental, y no es otra que el juego en red.

Eboard nos permite jugar contra un amigo que también tenga eboard, conectándose ambos clientes directamente IP a IP. Además es posible conectarse a servidores de ajedrez ICS como FICS u otros, de forma que podremos jugar contra cientos de jugadores humanos de todo el mundo. El poder jugar de forma directa contra otro eboard me interesa porque tengo un familiar también usuario del sistema del pingünino con el que tengo unas partiditas pendientes.

La verdad es que sólo le veía un problema al programa, y no es otro que su aspecto. No sé, lo veía muy cutre, sobre todo las fichas y los tableros. Pero no os preocupéis que un servidor se ha dejado unas cuantas horas de su vida portando temas desde otros programas. Al final del post dejaré el enlace de descarga.

Antes:


Después:

Tema: Alpha Pieces on Wooden


Tema: Mark Pieces on Alpha


Instalación:

1. Instalamos el juego, los tableros y piezas extra, así como varios motores:


sudo aptitude install eboard eboard-extras-pack1 sjeng crafty fruit



El último, fruit, es opcional ya que no funciona con eboard, aunque sí con el juego de ajedrez que viene por defecto con Feisty, glChess


A mi no me creó ningún lanzador en el menú de aplicaciones, así que tuve que crearlo. Para que no paséis trabajo aquí os dejo el código para crearlo:


sudo gedit /usr/share/applications/eboard.desktop


Luego pegáis este texto, guardáis y listo:

[Desktop Entry]
Encoding=UTF-8
Name=Eboard
GenericName=Board Game GUI
Comment=Juega al ajedrez contra la IA u otro humano
Exec=eboard
Icon=/usr/share/glchess/glchess.svg
Terminal=false
Type=Application
Version=0.2.0
Categories=Application;GTK;GNOME;Game;BoardGame;
StartupNotify=true
MimeType=application/x-go-sgf;text/sgf;text/x-sgf;


2. Añadimos los nuevos sets a eboard:
  1. Descargar el archivo

    Sets para eboard


  2. Descomprir sobreescribiendo en /usr/share/games/eboard
  3. Seleccionamos el tema en Configuración/Piezas Dibujadas... Yo además activé la opción para que se mostraran las coordenadas en el tablero (queda mucho más cool).


Llegados a este punto ya tenemos nuestro eboard resultón y listo para la acción. Para iniciar una partida contra la CPU simplemente: Oponente/Jugar contra un motor... y seleccionamos el que queramos de entre los disponibles. Para jugar contra un amigo que también tenga eboard haremos click sobre Conectar a Otro eboard...


El motor GNUChess no es detectado correctamente por el programa. Creo que se debe a que ya forma parte del paquete gnome-games.


¿Qué necesitamos ahora? Respuesta: saber manejarnos por FICS. Pero eso será en el siguiente post.

Enlaces relacionados
Artículo en Fentlinux también disponible en pdf

Seguir leyendo...

Acerca de mi

-

Quién sabe si algún día contaré algo de mi. [Nianoniano (música de misterio)]