Proyectos con GNU/Linux.

La verdad es que las posibilidades que da GNU/linux son espectaculares, por lo que cualquier idea por descabellada que parezca a priori normalmente puede ser implementada en linux, es más normalmente hay que mirar mucho en la web para ver si alguien ya ha realizado lo mismo (que es lo más habitual). Actualmente solo tengo realizada la descripción de uno de los proyectos que he realizado, el Sistema de Ocio.

Sistema de ocio

Este proyecto como muchos otros nacio de una necesidad, tan sencilla como que no teniamos televisión ni cadena musical, pero si que teniamos un ordenador con linux, y una capturadora de tv. Así que nos planteamos diseñar un sistema que permitiese utilizar este ordenador como cadena musical, televisión y para jugar pero de una forma cómoda y sin necesidad de usar el teclado ni el ratón.

Funcionamiento y menus basicos

Para la implementación de este proyecto se nos ocurrio que lo mejor seria diseñar una serie de menus jerarquicos que fuesen faciles de usar y que permitiesen ejecutar nuevos menues o activar programas concretos para ver la televisión, escuchar un cd, o jugar. Al principio se penso en un programa que manejase todos estos menues, pero al final nos decidimos por controlar cada menu de forma independiente y simplemente ejecutar cada menu desde el menu anterior. Estos menues debian ser genericos de forma que el sistema fuese muy facilmente ampliable y modificable, por lo que se decidio realizar un pequeño programa que permitiese crear cada menu simplemente con una descripción textual de como debe ser el menu.

Por ahora se han creado los siguientes menus dentro del sistema:

El menu más complicado es el de música puesto que para hacer que el tema de los mp3 fuese generico se decidio crear un menu dinamico distinto para cada cd que se introdujera, por lo que al seleccionar la opcion de escuchar mp3 de un cd, se espera un cd, se comprueba que sea de datos y si lo es se leen los nombres de ficheros y se genera un menu dinamico mostrando una opción por cada directorio del cd que contenga mp3, más una opción que permite ejecutar una lista de mp3 con todos las canciones del cd.
Este mismo sistema de generar menus dinámicos también se usa para el caso de querer escuchar los mp3s que contenga el disco duro, e incluso más adelante quizás se use para leer todos los videos de un cd.

Hardware

Ahora mismo este sistema está siendo usado en una AMD K6-2 a 300 Mhz con 128M de Ram, este sistema es perfectamente válido para las opciones que tiene implementado el sistema en este momento, pero se queda algo corto para la reproducción de peliculas comprimidas con DivX o Mpeg 4.
Lo que si que es importante para un sistema de este tipo, sobre todo para ver las peliculas de DivX o para poder jugar con el xmame es tener un buen monitor, en mi caso el monitor que tiene este sistema es un Nec de 21" En cuanto a hardware adicional hay un par de elementos que aunque no son extrictamente necesarios si que son muy convenientes:

Software

Ahora mismo el sistema es completamente funcional, aunque poco a poco le voy introduciendo nuevas cosas.
Como programas base para el control de los menus y de cada una de las operaciones he creado algunos scripts en python, entre los cuales están: También hay algunas otras utilidades realizadas en C que permiten esperar a que se cierre la bandeja del cd o que consultan el tipo de cd que tenemos metido en la bandeja.

Por supuesto, todos estos scripts simplemente sirven como unión de los programas de televisión, reproducción cd cds, etc, que son los que realmente hacen todo el trabajo.
Uso los siguientes programas:
Televisiónxawtv
Reproducción MP3xmms
Reproductor de CDxmms
Reproductor AVI, DIVXMPlayer
TeletextoAlevt

Para el sistema de ocio estoy usando una Redhat 7.1 con la que estoy bastante contento excepto por la cagada de compilador que han metido.
El ordenador entra directamente en X con unos ficheros de arranque especificos y con un usuario ocio que es el que tiene todos los programas. Este usuario es un usuario normal que tiene permisos para acceder mediante sudo a ciertos programas como el de grabación de cds.

Capturas

Pongo aquí unas capturas de algunos de los menus del sistema (si pulsas en una cualquiera de ellas podrás ver la foto con más resolución).


download

El proyecto está funcionando y dimagos que terminado (por lo menos las carácteristicas que en este momento tiene implementadas) pero el caso es que tanto el código como los ficheros de configuración están desorganizados y sucios, por lo que es dificil distribuir el sistema como un todo.

Pretendo que esto cambie y dejar disponible en esta misma web un paquete de fácil instalación. Pero por ahora si alguien quiere los ficheros del proyecto (para curiosear, o para arriesgarse e intentar usarlos) que no dude en pedirmelos que muy gustosamente se los enviare.

Ah, se me olvidaba, por supuesto las pocas líneas de código que he hecho para el sistema son GPL.


Si quieres ponerte en contacto conmigo:

eferro@inicia.es