GNU+Linux y su facilidad de uso ¡¡AH!!
En esta nota quería hablar sobre una cuestión que parece simple, pero no por eso deja de ser importante: la apertura automática de memorias USB, CDs de Audio y DVDs, y los problemas que puede haber al respecto si no usás un escritorio ‘famoso’ como KDE o GNOME (las dos grandes estrellas del Desktop libre), o si usás una distro un tanto extraña.
Presiento que este artículo de opinión personal hará las delicias de algunos anónimos que suelen criticar cada noticia en la que destaco las bondades del Software Libre, ya sea por el lindo movimiento de gente que está detrás de este fenómeno, por cuestiones técnicas, filosóficas, por discusiones, etc., suelo hablar mucho sobre GNU/Linux y otros programas libres, sobre librecultura, Wikipedia, CreativeCommons, WordPress, etc.
Como todo, el software libre está lejos de ser algo perfecto.
Siendo que me dedico a dirigir un proyecto de desarrollo en base a GNU+Linux llamado Musix dirigido a artistas, estoy en contacto con los inconvenientes del sistema mucho más de lo que la mayoría de la gente podría pensar: a veces me asombro de que el Live-CD de Musix le sea útil a una gran cantidad de gente, porque al estar todo el tiempo recibiendo reportes de errores siento que es una especie de ‘engendro mutante’, o ‘engendro inútil y terriblemente defectuoso’.
Una de cal y una de arena
A decir verdad, no todo es negro o blanco en el proceso de desarrollo, en las ‘charlas’ por mail con los usuarios y compañeros programadores, etc., por etapas se dan una cantidad enorme de buenas noticias, increíbles por cierto, como por ejemplo que la Universidad de Creta decide hospedar todos los CDs del proyecto en su centro de computación y luego se suman otros mirrors en Europa, o que uno de los diarios más importantes de Argentina, Página 12, realiza una nota sobre el proyecto Ututo y por consiguiente sobre Musix también… por dar sólo dos ejemplos recientes.
Pero luego o al mismo tiempo llegan reportes de errores (muchos y a veces repetidos), o deseos legítimos de los usuarios, que se quejan sobre alguna falta de funcionalidad o lo que fuere, así se va creando una interminable lista de tareas pendientes, la cual es necesaria para mejorar el sistema: ese ha sido parte del método de trabajo durante todo este tiempo; no quiero parecer despreciativo, realmente agradezco todos los reportes de errores, sólo que como cualquier ser humano, suelo cansarme un tanto.
Apertura automática de memorias USB, CDs de Audio y DVDs
Tanto si utilizan Microsoft Windows como si manejan alguna distribución GNU+Linux de las de moda (Ubuntu y sus variantes, PCLinuxOS) que posea un escritorio GNOME o KDE, cuando inserten una memoria USB el sistema les avisará del hecho y les dará opciones al respecto; lo mismo ocurre con otros dispositivos USB, con CDs de Audio y DVDs.
Tal como dice un usuario de Debian y Ubuntu llamado Luis Diaz en la respuesta número nueve del link [1] mencionado; en Ubuntu 6.10 el sistema ya montaba automáticamente su memoria USB y disponía un icono en el escritorio para acceder fácilmente, o abría un explorador mostrando el contenido… es decir que desde al menos Octubre de 2006 eso ocurre en Ubuntu.
Autocrítica
Acá viene parte de mi autocrítica: yo sabía que esto podía hacerse, y lo podríamos haber implementado en Musix hace casi un año ¿por qué no lo hicimos?, ¿realmente nos interesa el usuario final que quiere todo servido en bandeja? En parte quizá no nos interese tanto el usuario final común y corriente (no quiero sonar despreciativo con esto, me refiero al usuario promedio) como el hecho de hacer que los programas para músicos y artistas en general funcionen lo mejor posible, porque Musix se dedica a eso.
Hecha mi autocrítica sobre un problema que se resolvió en unos días de investigación (por parte de Daniel Vidal Chornet [gracias por la imagen que lleva este artículo, de paso]) y apenas unas horas de trabajo (por mi parte) para Musix [2], al menos en un principio (ya que las funcionalidades básicas fueron implementadas), ahora me gustaría contar un poco qué tuvimos que hacer para resolverlo.
Trabajando
Cómo resolver el problema de automontaje en IceWM + Rox (escritorio ultraliviano)
Hace un tiempo leí que uno de los principales desarrolladores de Debian comentó que en el nuevo Debian/Stable, llamado ETCH, el automontaje amigable de dispositivos USB era una realidad: ¿entonces por qué algunos usuarios reportan lo contrario? [3] Quizá por falta de conocimiento, por no saber cómo instalar esas funcionalidades… quizá por no usar GNOME o KDE, ya que al menos los casos que estudié utilizaban XFCE como escritorio.
Hoy me pasé toda la tarde buscando información al respecto, abrí aproximadamente 20 pestañas en mi Firefox (Iceweasel) para leer los reportes de usuarios en los foros de diferentes proyectos de Software Libre, hasta que dí en el clavo [4].
Pero el clavo estaba torcido, así que pasé un tiempo experimentando con un comando que es realmente una pesadilla: lshal.
Un usuario llamado ‘mzilikazi’ (la extravagancia de nicks perpetua en los foros!), daba las instrucciones aparentemente exactas para lograr el automontaje en el escritorio liviano que también utiliza Musix: Rox-Filer.
IVMAN (es quien se encarga de hacer el trabajo final, nuestro ‘salvador’)
Además de instalar los paquetes ivman, pmount, hal y dbus, había que modificar un archivo de configuración (en la carpeta personal del usuario) llamado ~/.ivman/IvmConfigActions.xml
Como verán es un archivo en formato xml, así que para un programador debería ser fácil de entender, incluso para algún usuario avanzado de Windows acostumbrado a lidiar con el Registro.
En fin, la persona apodada mzilikazi decía (luego de explicar algo que no viene al caso en esta nota) que había que insertar este código en el archivo:
Pero me cansé de probar y no funcionaba: conectaba mi memoria USB a la PC y no sucedía nada, cambiaba algo, y lo mismo; pensé que el problema estaba en otro lado, pero no.
Así que leí por ahí que sería bueno aprender sobre cómo ivman (el programa que se encarga de todas estas cuestiones de automontaje y asignación de acciones frente a sucesos de detección de hardware) tomaba las configuraciones. Dentro del archivo xml mencionado, había unas cordiales explicaciones que invitaban a utiliza el comando ‘lshal’ para ver las hermosas e increíbles opciones que tenemos disponibles para manejar, pero ¡¡¡¡AHH!!!!, un simple lshal devolvió 2188 líneas!!! Y se imaginan que yo no me iba a poner a leer 2188 líneas, así que filtré lo que me interesaba, que era por ese entonces el tema del USB: 349 líneas… aún mucho, al fin, filtré más precisamente lo relativo a almacenamiento (storage)
lshal | grep stora | grep bus
storage.bus = ‘usb’ (string)
storage.bus = ‘ide’ (string)
storage.bus = ‘ide’ (string)
storage.bus = ‘ide’ (string)
Sólo 4 líneas de información: ¡qué placer!
Eso me daba la idea de que para el tipo de dispositivo hal.storage.bus que fuera USB, podría ejecutar algo, como por ejemplo un explorador que abriera la (a esta altura) maldita memoria USB.
Probé varias veces, y nada.
Al final, ya casi deprimido, una intuición me dijo que el usuario del foro de Debian podría estar equivocándose, o que podría estar dando una solución que aquí no funcionaría del mismo modo, así que borré una líneas que me parecieron demás en la configuración del XML, y dejé esto:
Por lo cual, el problema estaba simplificado, ivman no se fijaría en hal.info.category, y además debía quitar porque estaba demás (repetido, siendo que esa línea cierra el archivo.)
Conecté la memoria USB una vez más y… iiuujuuuuuuuuu!!!, se abrió el explorador de Rox-Filer y mostró la carpeta /media con el usbdisk montado y listo para ser accedido.
Luego pasé unas horas más haciendo scripts para optimizar un tanto más el proceso de cara al usuario final, empaqueté todo, y lo subí a los repositorios de paquetes de Musix.
GNU+Linux y su facilidad de uso… sí, sí….
Por último, recuerdo que en el sitio web Oficial de Rox-Filer se daban algunas explicaciones aparentemente correctas [5], de lo cual tomé otro script que vino muy bien, pero si hubiera sido sólo por la gente de Rox-Filer, no hubiera llegado nunca a buen puerto; a lo que voy es que veo que es generalizada dentro del mundo de desarrolladores de Software Libre esta dispersión y esta falta de interés por lo que el usuario final necesita, y yo me incluyo dentro del grupo.
Nada, no quiero terminar la nota de un modo pesimista, al final resolvimos el problema, y lo haremos mejor en el futuro, pero queda aquí mi autocrítica.
En limpio
Restaba comentarles a los interesados que, además de instalar el software mencionado, básicamente ivman tiene que lanzarse como root, con lo cual es útil hacer un enlace para que se cargue en cada inicio, al estilo:
ln -s /etc/init.d/ivman /etc/rcS.d/S90ivman
Luego hay que crear un script tal como se menciona en el sitio de Rox filer [5] y hacer que se cargue con cada sesión de usuario no-root desde el escritorio; y finalmente modificar el archivo personal de configuración ubicado en ~/.ivman/IvmConfigActions.xml, no el del usuario root. Quienes quieran revisar lo que hice para Musix, vean el link más abajo [6] (pueden abrir ese archivo con Ark).
Suerte!
Más información:
[1] http://elnorber.wordpress.com/2007/04/14/pendrives-en-debian-etch/
[2] http://www.musix.org.ar/wordpress/?p=204
[3] Problemas en Debian/ETCH con el automontaje
http://www.esdebian.org/forum/viewtopic.php?showtopic=92985
http://www.esdebian.com/forum/viewtopic.php?forum=9&showtopic=82681
[4] http://forums.debian.net/viewtopic.php?p=41885&sid=16a8733e162bc34ed365edc546f8eecf
[5] http://rox.sourceforge.net/desktop/node/124?PHPSESSID=6fca6ffe42fd0b21ffb73675fdf8380a
[6] ftp://musix.ourproject.org/pub/musix/deb/ivman-musix_1.0.deb
Por Marcos Guglielmetti, el 24/07/2007.