lunes, 22 de junio de 2009

Multiterminal en Ubuntu 9.04

El concepto de multiterminal es una particular configuración de un equipo informático de tal modo que permite que el equipo pueda ser utilizado por más de una persona simultáneamente. Dado que el hardware actual tiene sobrada potencia para los requerimientos que pueda exigir la gestión de múltiples escritorios, esta configuración es especialmente interesante en entornos de tipo de trabajo de oficina. La principal ventaja: el ahorro, no sólo en energía sino también en costes de mantenimiento.

Hasta hace algún tiempo, este tipo de configuraciones no eran sencillas y requerían modificar, recompilar o parchear diferentes partes del sistema. En las versiones más recientes, el kernel de Linux ya incluye lo necesario para poder tratar por separado los eventos provenientes p.ej. de diferentes teclados. De esta manera, actualmente se puede conseguir una configuración multiterminal simplemente instalando algún paquete adicional y modificando algún fichero de configuración.

En anteriores ocasiones he preparado tutoriales para configuraciones multiterminal en Ubuntu 6.06 y 8.04, pero esta es la primera ocasión en que publico el tutorial también en castellano.

La configuración es muy similar a la de la versión 8.04, con la diferencia de que algunos componentes de software han sido actualizados consiguiendo así alguna mejora con respecto a versiones anteriores. No obstante, continúa habiendo algunos problemas.





El equipo es el mismo que se utilizó en la anterior versión:
Pentium 4 a 3GHz, con 512MB de RAM y un disco duro de 80GB. La tarjeta de video es una ATI Radeon X300 PCIe de Gigabyte con dos salidas (VGA y DVI). En la salida DVI se utiliza un adaptador VGA de modo que finalmente tenemos dos monitores VGA analógicos en el sistema. Los monitores son pantallas convencionales LCD/TFT con una resolución de 1280x1024.

1.- En primer lugar, instalamos Ubuntu 9.04 en el ordenador. Lo hacemos utilizando un sistema "live" (CD/DVD o USB). Dado que actualmente la mayor parte de los equipos soportan arranque desde USB, recomedamos hacerlo con un USB-live, dado que el proceso de instalación será mucho más rápido que si lo hacemos desde un CD o DVD.

2.- A continuación, actualizamos el sistema para tener los últimos paquetes disponibles. Lo podemos hacer o bien con las herramientas gráficas (Gestor de Actualizaciones / Synaptic) o bien utilizando la línea de comandos desde un terminal:


$ sudo apt-get update


3.- Posteriormente, instalamos unos paquetes adicionales (xserver-xephyr y wmctrl). Estos paquetes no vienen incluidos en la instalación por defecto, pero podemos encontrarlos en los repositorios oficiales, de modo que su instalación es muy sencilla. Dichos paquetes son necesarios para conseguir obtener la configuración multiterminal que estamos buscando.


$ sudo apt-get install xserver-xephyr wmctrl


Antes de comenzar con las modificaciones particulares de la configuración multiterminal, es recomendable hacer los ajustes y configuración necesarios para el escenario de trabajo particular de cada usuario (configuración de red, creación de usuarios, etc). Algunas herramientas y utilidades de Gnome no funcionan al trabajar con múltiples sesiones simultáneas. Al detectar el sistema operativo múltiples sesiones, no es posible generar los necesarios ficheros de bloqueo requeridos por las herramientas de configuración.

Es muy recomendable conservar una copia de los ficheros de configuración en su estado inicial (/etc/X11/xorg.conf y /etc/gdm/gdm.conf). Estos ficheros serán necesarios si el usuario desea volver a la configuración inicial (monousuario) del equipo.

Una vez realizadas estas tareas previas de configuración inicial, procedemos a realizar la configuración específica del equipo multiterminal.



Inicialmente, tras la configuración por defecto, el sistema se inicia con las dos pantallas en modo "clon". si examinamos la salida del comando xrandr podremos ver los detalles de nuestra actual configuración. En nuestro caso particular, obtenemos lo siguiente:


$ xrandr -q
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 1280 x 1200
VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
1280x1024 60.0*+ 75.0 60.0*
1152x864 75.0
1024x768 75.0 60.0
832x624 74.6
800x600 75.0 60.3
640x480 75.0 59.9
720x400 70.1
DVI-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
1280x1024 60.0*+ 75.0 60.0*
1152x864 75.0
1024x768 75.0 70.1 60.0
832x624 74.6
800x600 72.2 75.0 60.3
640x480 75.0 72.8 59.9
720x400 70.1
S-video disconnected (normal left inverted right x axis y axis)


El siguiente paso es modificar /etc/X11/xorg.conf para indicar cómo obtener un "escritorio extendido". En caso de tener dudas sobre este tema, en el wiki de ubuntu se puede encontrar información adicional para configurar y definir manualmente sistemas multipantalla.

En las últimas versiones de Linux, algunos aspectos relacionados con la gestión de dispositivos están siendo modificados y se gestionan desde diferentes partes del sistema, como hal y udev. Vemos que ya no es necesario indicar nada relacionado con ratón y teclado en el fichero xorg.conf

Tras haber hecho nuestra copia del fichero xorg.conf inical, lo modificamos para describir nuestra configuración con dos monitores. Incluimos también algunas opciones convenientes (las indicadas en la sección "ServerFlags") para un sistema multiterminal.


Section "Device"
Identifier "Card0"
BoardName "ATI Technologies Inc RV370 5B60 [Radeon X300 (PCIE)]"
Driver "ati"
BusID "PCI:1:0:0"
Option "Monitor-VGA-0" "Mon-VGA"
Option "Monitor-DVI-0" "Mon-DVI"
EndSection

Section "Monitor"
Identifier "Mon-VGA"
Option "DPMS"
EndSection

Section "Monitor"
Identifier "Mon-DVI"
Option "DPMS"
Option "Below" "Mon-VGA"
EndSection

Section "Screen"
Identifier "Screen-base"
Device "Card0"
Monitor "Mon-VGA"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1280x1024"
Virtual 1280 2048
EndSubSection
EndSection

Section "ServerFlags"
# Even if mouse detection fails, X will start
Option "AllowMouseOpenFail" "yes"

# VT switching is disabled
Option "DontVTSwitch" "yes"

# X restart (Ctrl+Alt+Backspace) is disabled
Option "DontZap" "yes"
EndSection


En esta ocasión hemos elegido una distribución vertical de los monitores. Ha sido únicamente como prueba para ver si la aceleración 3D funciona al mantener las dimensiones de la pantalla virtual menores (o iguales) que un cuadrado de 2048 pixels de lado. Si el usuario prefiere una distribución horizontal, basta con utilizar leftOf o rightOf en lugar de below, en la sección correspondiente al segundo monitor. Además, se deberá de ajustar el tamaño del escritorio virtual al requerido en función de la distribución deseada.

Tras haber hecho estos cambios, si reiniciamos el servidor X veremos un escritorio ocupando los dos monitores en vertical y con estas características:


$ xrandr -q
Screen 0: minimum 320 x 200, current 1280 x 2048, maximum 1280 x 2048
VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
1280x1024 60.0*+ 75.0 60.0*
1152x864 75.0
1024x768 75.0 60.0
832x624 74.6
800x600 75.0 60.3
640x480 75.0 59.9
720x400 70.1
DVI-0 connected 1280x1024+0+1024 (normal left inverted right x axis y axis) 338mm x 270mm
1280x1024 60.0*+ 75.0 60.0*
1152x864 75.0
1024x768 75.0 70.1 60.0
832x624 74.6
800x600 72.2 75.0 60.3
640x480 75.0 72.8 59.9
720x400 70.1
S-video disconnected (normal left inverted right x axis y axis)


Tras haber modificado el fichero xorg.conf y teniendo ya un escritorio extendido que cubre los dos monitores (tanto si utuilizamos una distribución vertical como una horizontal) el siguiente paso es configurar gdm para lanzar dos sesiones Xephyr, una para cada puesto.

Previamente, tenemos que obtener información acerca de los eventos de entrada (los dos teclados y ratones) del sistema.


$ ls -la /dev/input/by-path/ | grep event | grep kbd
lrwxrwxrwx 1 root root 9 2009-06-18 13:11 pci-0000:00:1d.2-usb-0:2:1.0-event-kbd -> ../event5
lrwxrwxrwx 1 root root 9 2009-06-18 13:11 platform-i8042-serio-0-event-kbd -> ../event3

$ ls -la /dev/input/by-path/ | grep event | grep mouse
lrwxrwxrwx 1 root root 9 2009-06-18 13:11 pci-0000:00:1d.2-usb-0:1:1.0-event-mouse -> ../event4
lrwxrwxrwx 1 root root 9 2009-06-18 13:11 platform-i8042-serio-1-event-mouse -> ../event8


En nuestro caso, tenemos una pareja de teclado y ratón conectados por puerto PS2 para uno de los puestos, y para el segundo una pareja de teclado y ratón USB. Los valores que obtengamos aquí serán usados posteriormente para configurar los dispositivos de entrada que corresponden a cada puesto.

A continuación se crea un lanzador con el objeto de ejecutar Xephyr con los parámetros adecuados y relacionando a cada uno con sus eventos de entrada. Para lograr esto, creamos un fichero que se utilizará a modo de script de lanzamiento. podemos nombrar y crear el fichero del modo que nos parezca más conveniente. En nuestro caso, lo creamos como /usr/sbin/Xephyr-path.sh

Se escoge un editor (vi, gedit, ...) para crear el fichero en cuestión, sin olvidar que tiene que tener permisos para poder ser ejecutado por root (el propietario del fichero).


$ sudo gedit /usr/sbin/Xephyr-path.sh
$ sudo chmod 744 /usr/sbin/Xephyr-path.sh


El fichero en cuestión tendrña un contenido similar a esto (cambiando el parámetro xkblayout en función del lenguaje de teclado del usuario):


$ cat /usr/sbin/Xephyr-path.sh



#!/bin/bash

# 200906 - josean
# http://netpatia.blogspot.com/

trap "" usr1

XEPHYR=/usr/bin/Xephyr
DISPLAY=:0
XAUTHORITY=/var/lib/gdm/:0.Xauth

args=()

while [ ! -z "$1" ]; do
if [[ "$1" == "-kbdpath" ]]; then
shift
if [ ! -z "$1" ]; then
args=("${args[@]}" "-keybd")
args=("${args[@]}" "evdev,,device=/dev/input/by-path/$1,xkbrules=xorg,xkbmodel=evdev,xkblayout=es")
fi
elif [[ "$1" == "-mousepath" ]]; then
shift
if [ ! -z "$1" ]; then
args=("${args[@]}" "-mouse")
args=("${args[@]}" "evdev,,device=/dev/input/by-path/$1")
fi
else
args=("${args[@]}" "$1")
# echo "+++ args $1 +++" >> /tmp/logXephyr
fi
shift
done

# Next line is just to create a log file with the invocation parameters, for debug purposes
# echo $XEPHYR -ac "${args[@]}" >> /tmp/logXephyr
exec $XEPHYR -ac "${args[@]}"


Tras haber creado este script, continuamos con las modificaciones en el fichero /etc/gdm/gdm.conf

En la sección [servers] de gdm.conf comentamos las reglas correspondientes a la distribución inicial y definimos lo necesario para la nueva distribución. Modificamos el fichero para lanzar las X de base y dos sesiones Xephyr (una por puesto) ejecutandose sobre las X de base.


# ****************************************************************************

[servers]

# 0=Standard
#
# Means that DISPLAY ":0" will start an X server as defined in the
# [server-Standard] section.

# ****************************************************************************

# Multiseat setup (200906)

0=Xephyr0
1=Xephyr1
2=Xephyr2

[server-Xephyr0]
name=Xephyr0
command=/usr/bin/X -br -dpms -s 0
handled=false
flexible=false

[server-Xephyr1]
name=Xephyr1
command=/usr/sbin/Xephyr-path.sh -br -screen 1280x1024 -kbdpath platform-i8042-serio-0-event-kbd -mousepath platform-i8042-serio-1-event-mouse
handled=true
flexible=false

[server-Xephyr2]
name=Xephyr2
command=/usr/sbin/Xephyr-path.sh -br -screen 1280x1024 -kbdpath pci-0000:00:1d.2-usb-0:2:1.0-event-kbd -mousepath pci-0000:00:1d.2-usb-0:1:1.0-event-mouse
handled=true
flexible=false

# ****************************************************************************


Vemos que éste es el script en e que hay que indicar qué dispositivos de entrada (sus puntos físicos de conexión) son los que corresponden con cada uno de los puestos.

El segundo cambio en el fichero gdm.conf está relacionado con la petición de autentificación. En esta parte hay algunas tareas que todavía es necesario realizar de forma manual.

Nos encontramso con el problema ya conocido de colocar cada sesión Xephyr adecuadamente para que cada usuario vea su sesión en su monitor. La versión actual de Xephyr no soporta el parámetro geometry que incluyen muchas aplicaciones X, de modo que no es posible indicar a Xephyr el lugar en el que se tiene que colocar. Para evitar este problema, creamos un script que será invocado en lugar de hacer una llamada directa al script de petición de identificación para iniciar sesión (greeter).

Este script, invocará una serie de comandos destinados a colocar cada ventana Xephyr en el lugar deseado. Para ello haremos uso de las utilidades xwininfo, wmctrl. con ellas podremos identificar una de las ventanas Xephyr y desplazarla al segundo monitor, de manera que resolvamos el problema de solapamiento entre las ventanas de sesión. Este es el motivo por el que anteriormente instalamos el paquete wmctrl.

En la sección [daemon] de gdm.conf cambiamos la referencia al "greeter" original por una referencia a este nuevo script. El script en cuestión no sólo invocará la petición de identificación, sino que se ocupará de colocar cada ventana Xephyr en su posición correcta:


# ****************************************************************************

[daemon]

# The greeter for attached (non-xdmcp) logins. Change gdmlogin to gdmgreeter
# to get the new graphical greeter.
# Greeter=/usr/lib/gdm/gdmgreeter
Greeter=/usr/sbin/Xephyr-login.sh

# ****************************************************************************


Como hemos indicado, creamos el script responsable de solicitar la identificación (en nuestro caso lo hemos llamado /usr/sbin/Xephyr-login.sh). Este script será invocado por el usuario gdm, de modo que creamos el script como propiedad de dicho usuario, dando únicamente permisos de ejecución por éste.


$ sudo gedit /usr/sbin/Xephyr-login.sh
$ sudo chown gdm:gdm /usr/sbin/Xephyr-login.sh
$ sudo chmod 744 /usr/sbin/Xephyr-login.sh


El script que acabamos de crear debería de tener este aspecto:


$ cat /usr/sbin/Xephyr-login.sh


#!/bin/bash
# /usr/sbin/Xephyr-login.sh

XAUTHORITY=/var/lib/gdm/:0.Xauth
XEP=$(xwininfo -root -children -display :0 | grep "Xephyr on :1" --max-count=1)
echo XEP ${XEP} >> /tmp/logXephyrLogin

# assign values to positional parameters to obtain the id (first parameter) of the Xephyr window
set ${XEP}
DISPLAY=:0 wmctrl -i -r $1 -e 0,0,1024,-1,-1
/usr/lib/gdm/gdmlogin


En nuestro caso, desplazamos en vertical una de las sesiones 1024 pixels (recordamos que nuestra distribución consiste en dos pantallas de 1280x1024 alineadas verticalmente).

Vemos que cuando se debería invocar la identificación de sesión, en su lugar se ejecuta el nuevo script (que incluye también esta parte de solicitud de identificación). Desde el punto de vista del usuario, lo que se ve es cada una de las pantallas de identificación ejecutandose en uno de los monitores. El resto de las operaciones realizadas pasan desapercibidas para el usuario.

La versión 9.04 de esta configuración multiterminal consigue algunas mejoras con respecto a versiones anteriores:
* La rueda de scroll vertical del ratón funcina correctamente.
* Los indicadores LED de los teclados funcionan de forma independiente sin mezclarse.

Updated 2009/06/22: Cambios menores
Leer más...

viernes, 12 de junio de 2009

Fedora 11 en el Asus EeePC 701

Dado que recientemente ha sido publicado Fedora 11 (Leonidas), y aprovechando que está disponible en forma de Live-ISO, he decidido descargar la imagen en cuestión, preparar un Live-USB y probarla en el Asus EeePC 701.

Fedora 11 incluye una serie de mejoras en cuestiones relativas a seguridad y virtualización, además de mejoras en sus características en los ámbitos de equipo de escritorio como de servidor.

La distribución incluye el soporte de ficheros ext4 y entre otras cosas se habla de un arranque en 20 segundos (obviamente no es el caso de la versión live-USB). En algunos blogs se indica que es incluso más rápido que el inicio de Ubhuntu 9.04, el cual consigue unos tiempos mucho más que aceptables.

En cualquier caso, el objeto de esta entrada no es hacer una revisión de Fedora 11 y sus nuevas características, sino analizar si es una opción viable para instalar en un Asus Eee PC 701, con sus particulares limitaciones y su hardware.

En una de las páginas de la web de Fedora indican que este modelo está completamente soportado sin necesidad de realizar modificaciones ni ajustes manuales.

Efectivamente, los componentes que he estado examinando (tarjeta de audio, adaptador de red inalámbrica y cámara) son detectados de forma automática y funcionan a la perfección.



Una distribución muy recomendable para quienes quieren aprovechar las ventajas y las prestaciones de una distribución completa, sin recortes ni simplificaciones excesivas, y con unos completísimos repositorios de aplicaciones y utilidades listos para instalar

Note: English version:
Fedora 11 on the Asus EeePC 701 Leer más...

viernes, 29 de mayo de 2009

Asus Eee PC 701 con Ubuntu 9.04

Desde finales de 2007 tengo un Asus Eee PC 701, y desde entonces he probado diferentes sistemas operativos en dicho equipo. De todos ellos, aquéllos en los que más interés he tenido han sido las diferentes versiones de Ubuntu.

Tan pronto como Ubuntu 8.04 estuvo disponible, eliminé el Xandros que venía inicialmente con el equipo y lo reemplacé por dicha versión de Ubuntu. Inicialmente, me encontré con muchas dificultades, debido principalmente a componentes del hardware no soportados o no reconocidos directamente por la distribución en cuestión.

Seis meses después, se publicó Ubuntu 8.10, el cual aportaba algunas mejoras con respecto a la versión anterior. Las cosas empezaban a mejorar, de modo que ya resultaba un poco más sencillo conseguir que todos los componentes del sistema funcionasen correctamente, aunque todavía era necesario realizar manualmente algunas modificaciones sobre éste. Las dificultades se debían fundamentalmente a la tarjeta WiFi (Atheros AR2425), que no era reconocida directamente por el kernel.

La siguiente versión (Ubuntu 9.04) se anunciaba con un kernel que ya reconocía y soportaba directamente la tarjeta inalámbrica de este equipo, de modo que he ido probando mediante USB-live las versiones que se han ido publicando, desde la Alfa 4. Efectivamente, una de las grandes ventajas de esta versión es su soporte completo y sin modificar nada de todos los componentes hardware del Asus Eee PC 701 (tarjeta WiFi incluida).

Cuando, a finales de abril, se publicó la versión definitiva de Ubuntu 9.04, decidí hacer una instalación limpia (en lugar de actualizar desde la versión anterior) de dicha versión. La versión que tenía anteriormente instalada (8.10) había sido modificada en muchos aspectos con respecto a una instalación estándar, y mi objetivo era averiguar hasta qué punto la nueva versión era capaz de funcionar y de reconocer los componentes del equipo en cuestión.

El resultado no podría haber sido más satisfactorio: Los componentes hardware son reconocidos y funcionan correctamente sin necesidad de realizar ninguna modificación. La tarjeta inalámbrica (que había sido el componente más problemático) inmediatamente detectó y mostró las redes wifi disponibles en las proximidades. No tuve ninguna dificultad en conectar al punto de acceso de casa, que utiliza encriptación WEP: Simplemente fue introducir la clave, y comenzar a navegar.

La siguiente gran mejora a destacar con respecto a versiones anteriores es la relacionada con la velocidad. No se trata de una comparación subjetiva, sino de comparar las salidas del comando dmesg (/var/log/messages) de la anterior versión (8.10) y la actual (9.04). Los tiempos se han acortado de manera significativa. El disco SSD se reconoce y gestiona de forma más adecuada que antes, obteniendo de este modo un sistema que, a pesar de sus limitados recursos (un Celeron a 630MHz y 512MB de memoria) responde de forma sorprendentemente ágil.

Es importante recalcar que el sistema no ha sido optimizado para obtener un arranque rápido, sino que se trata únicamente de la instalación por defecto. La única modificación que se ha realizado es la elección del sistema de ficheros ext2 en lugar de ext3, y la ausencia de partición de intercambio (swap).



17:00 Pulsamos el botón de encendido
17:08 Pantalla inicial de Asus Eee PC
17:10 Pantalla del gestor de arranque GRUB
17:13 GRUB lanza la opción de arranque por defecto
17:42 Solicitud de usuario y password por parte de GDM
17:48 Tecleando: Usuario + password + Intro
18:07 Conexión WiFi establecida. El sistema está listo para utilizar!!!

Tal y como se puede ver, el sistema está listo en 67 segundos:

  • 10s : BIOS
  • 9s : Interacción del usuario: GRUB + GDM login / greeter
  • 48s : Arranque del sistema: Carga + inicio de sesión + conectar WiFi

Como comentario a título informativo: Para obtener el contador de tiempo en el video, se ha colocado el Eee PC delante de la pantalla de un equipo de sobremesa (un pentium 4 que ya tiene algunos añitos) y se ha ejecutado la siguiente instrucción:

$ xclock -digital -strftime "%M:%S" -face courier-140 -update 1

El equipo de sobremesa, naturalmente, también utiliza Ubuntu 9.04 ;-)

El objeto de este artículo no es analizar Ubuntu 9.04, sino únicamente evaluar su usabilidad en este equipo en particular. Como hemos indicado anteriormente, el equipo cuenta únicamente con 512MB de memoria, los cuales resultan más que suficientes para realizar tareas ordinarias con el sistema en cuestión. De hecho, inicialmente el sistema utiliza algo menos de 130MB de memoria, dejando algo más de 350MB disponibles para ser usados por las aplicaciones.



Vemos algunas mejoras y cambios con respecto a versiones anteriores, como el mecanismo de gestión de conexiones de red y el nuevo aspecto gráfico de las notificaciones.





Componentes como la controladora de audio y la cámara incorporada, funcionan correctamente sin necesidad de realizar ningún tipo de modificación.



Incluso con un equipo tan limitado, es posible ver videos de youtube en HD (video del ejemplo).



Las utilidades relacionadas con la gestón de energía (ACPI), tales como suspender, despertar y apagar el equipo, funcionan correctamente. La mayor parte de las teclas hotkeys también lo hacen, con la excepción de la tecla para activar y desactivar la tarjeta inalámbrica. Este es el único detalle que he encontrado hasta ahora que requiere ser configurado manualmente.



Así pues, el comentario final podría ser el siguiente: Para quienes busquen un ultraportátil (netbook) capaz de ejecutar una distribución estándar sin limitaciones (salvo las referentes a prestaciones debido al modesto hardware) tal y como si estuvieramos trabajando en un equipo de sobremesa, recomiendo sin ningún lugar a dudas el uso de Ubuntu 9.04 en este tipo de equipos. Leer más...

sábado, 28 de marzo de 2009

Novedades en Ubuntu 9.04

Desde hace algunos días, estoy probando Ubuntu 9.04 (en particular, desde la versión alfa-4) en dos de los equipos que tengo en casa.

Los escenarios son bien distintos: Uno de ellos es un equipo de sobremesa que ya tiene algún tiempo (unos 4 años), pero suficiente para el trabajo doméstico y la navegación cotidiana, se trata de un Pentium 4 HT 3GHz con 2GB de memoria RAM. En este equipo, hasta hace algunas semanas utilizaba exclusivamente Windows XP. Ya en anteriores ocasiones había intentado instalar Ubuntu en este equipo, pero tenía algunos componentes de hardware un poco particulares que me ocasionaban dificultades para el correcto funcionamiento de diferentes distribuciones de Linux que había probado en el equipo.

En este momento, puedo decir que el 95% del hardware de mi equipo funciona a la perfección, y que por fin he tomado la decisión de aparcar Windows XP y cambiar a Linux. En Linux, y en particular en Ubuntu, dispongo de todo el software que habitualmente necesito para las tareas que suelo hacer. Además de esto, me encuentro con algunas ventajas adicionales, como:

  • Facilidad de gestión de sitios remotos mediante fuse/sshfs. Existe software para conseguir algo similar en Windows, pero su instalación dista mucho de ser trivial.
  • Actualización automática completa: Sistema operativo + aplicaciones. Dada la enorme cantidad de software disponible (de manera libre : gratuita + legal) en los repositorios oficiales, apenas es necesario instalar software adicional. Todo el software que provenga de los repositorios se mantiene actualizado (corrección de errores y de fallos de seguridad) de manera automatizada y sumamente sencilla.

No pretendo hacer una comparativa ni enumerar las ventajas de un SO frente a otro. Las ventajas de los sistemas libres son muchas y aquí únicamente indico las que me interesa obtener para este equipo en particular.

Entre las novedades a destacar:

  • Actualizaciones: Kernel 2.6.28 y Gnome 2.26
  • Aparentemente el inicio del sistema es más rápido. Digo aparentemente porque el uso anterior con otras versiones de Linux en este equipo ha sido muy limitado, y en cualquier caso no tenía medidas previas. La situación actual, es que desde la pantalla inicial del GRUB hasta tener la sesión de usuario con una conexión inalámbrica establecida, transcurren unos 45 segundos, lo cual me parece un tiempo muy bueno. Indicar que el sistema funciona con ext3, pues aunque en algunos sitios se indica que ya se puede utilizar el nuevo sistema de ficheros ext4 en Ubuntu 9.04, y que con éste se consiguen mejoras de tiempos del orden del 20%, yo por ahora he preferido seguir trabajando de la manera tradicional.
  • Hay algunos cambios en el aspecto del interface gráfico: Aparte de los fondos de escritorio, principalmente el sistema de notificaciones. Como principal ventaja, el hecho de ser menos intrusivo.





El segundo equipo es ya un veterano en Linux: Se trata de un Asus Eee PC 701, por cuyo interior ya han pasado (además del Xandros inicial) versiones 7.10, 8.04 y 8.10 de Ubuntu.

En la actualidad, este equipo funciona con Ubuntu 8.10, al que ha habido que hacerle algunas modificaciones, principalmente para poder utilizar la tarjeta inalámbrica. La mejor noticia que podía oir, es que en la versión 9.04 dicha tarjeta viene soportada sin necesidad de modificaciones: Utilizando la versión 9.04 beta en modo live, el 100% del hardare del equipo funciona aparentemente sin problemas. En particular, la navegación funciona sin ninguna dificultad.

Leer más...

miércoles, 4 de marzo de 2009

Problemas con adaptador USB wireless en Linux

El objeto de esta entrada es indicar una solución muy sencilla que puede ser útil para resolver problemas con algunos adaptadores inalámbricos USB en Linux.

En mi caso particular, utilizo un adaptador Netgear MA111 (v1), basado en el chipset prism2. Este dispositivo, aunque tiene algo más de cinco años de antigüedad, de soportar únicamente velocidades de 11Mbps (802.11b) y de ser un dispositivo USB1.1, es perfectamente funcional y cumple perfectamente con su cometido.



Utilizo el adaptador en un equipo con una distribución Ubuntu 8.10 de 64 bits. Gracias al enorme esfuerzo de los desarrolladores y la gran cantidad de harware soportado, el adaptador funciona sin realizar ningún tipo de configuración, tanto arrancando con un live-usb como con la distribución recien instalada. El único requisito es introducir la clave de la red, y a funcionar.

El problema aparece al cabo de unos minutos navegando: Se interrumpe la conexión y no es posible volver a establecerla. Tras algunos intentos (deshabilitar y habilitar de nuevo la red, quitar y poner el adaptador, descargar y cargar - rmmod/insmod/modprobe - ) los módulos que controlan el dispositivo, no hay más remedio que reiniciar el equipo para volver a tener red.

El problema se repite en cada sesión. Un tráfico de unos pocos MB es suficiente para bloquear de nuevo el dispositivo de red. Al tratar de obtener más información, descubro que en el momento en que el tráfico de red se interrumpe, en el log del sistema (dmesg) aparecen decenas de mensajes como éste:


hfa384x_usbctlx_complete_sync: CTLX[3] error: state(Request failed)


Tras buscar un poco la cadena con el mensaje de error en cuestión, encuentro con que el error es más o menos habitual y se da con muchos modelos de adaptadores inalámbricos usb. En particular, me encuentro con alguna entrada en launchpad informando del error.

Continuando la búsqueda, aparece también una propuesta de solución.

Decido probarlo:
Marcamos como blacklist el módulo prism2_pci


$ sudo echo blacklist prism2_pci >> /etc/modprobe.d/blacklist


Tras reiniciar el equipo, comienzo a navegar, con múltiples pestañas, escuchando simultáneamente una radio online con Rhythmbox. Me dedico a ver también el capítulo 1 de Aguila Roja, y por el momento todo funciona perfectamente.


$ ifconfig wlan0 |grep RX
RX packets:350374 errors:0 dropped:0 overruns:0 frame:0
RX bytes:508203218 (508.2 MB) TX bytes:15082717 (15.0 MB)


Más de 500MB transferidos, y ni el más mínimo síntoma de error. Conclusión: Muy recomendable el intentarlo para todos aquéllos que tengan algún problema con tarjetas de red inalámbricas en Linux Leer más...

martes, 3 de marzo de 2009

Firefox + FlashPlayer 64 bits en Ubuntu 8.10

Recientemente he instalado Ubuntu 8.10 x86_64 en un equipo en el que hasta ahora solía trabajar con Windows XP. Me encuentro ahora instalando software y haciendo algunas pruebas respecto a la usabilidad del equipo, y sobre todo al tratarse de la versión de 64 bits.

Tras más de 4 años utilizando distribuciones Linux de 64 bits en servidores en producción, no tengo ninguna duda de que es una excelente opción para este tipo de máquinas. Sin embargo, para equipos domésticos cuyo principal uso es el de ser utilizado como ordenador de sobremesa, no termino de decidir si es mejor optar por la solidez de algo sobradamente probado, o si por el contrario merece la pena ganar algo de rendimiento aunque en ocasiones nos lleve a encontrarnos con dificultades propias de un bet-tester.

Para quienes quieren probar lo último, Adobe desde hace algún tiempo proporciona versiones de 64 bits de su popular reproductor de Flash. Quienes lo quieran instalar de los repositorios oficiales de Ubuntu (versión 8.10, 64 bits), se encontrarán con que instalan la versión de 32 bits, a través de ndiswrapper.

Podemos descargar e instalar de forma manual la versión de 64 bits (precisamente hace escasos días, el 24 de febrero de 2009, han publicado una nueva versión: 10.0.22.87).

El proceso es así de sencillo:


$ cd /tmp
$ wget http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.22.87.linux-x86_64.so.tar.gz
$ tar -xzf libflashplayer-10.0.22.87.linux-x86_64.so.tar.gz
$ sudo mv libflashplayer.so /usr/lib/firefox-addons/plugins


A continuación, reiniciamos Firefox, y ya disponemos tanto de un navegador como de un reproductor de flash en 64 bits.

En la web de Adobe, insisten en que se trata de una versión alfa, de modo que será más o menos frecuente que el navegador se bloquee al acceder a ciertas páginas en flash. Hay que tener claro que se trata de una herramienta para testeo o para desarrolladores, pero para usuarios finales que deseen un producto estable, por ahora la recomendación es utilizar la versión de 32 bits.

Actualización (7-marzo-2009): Parece ser que los usuarios de sistemas de 64 bits todavía tendremos que esperar un poco hasta disponer de un entorno de reproducción de flash estable.

Tras ver lo muy inestable que resulta la versión alfa proporcionada por Adobe, utilizo la versión de los repositorios de Ubuntu (32 bits + wrapper). Esta versión genera errores esporádicos como éste:


npviewer.bin[5916]: segfault at ff9bea2c ip 00000000ff9bea2c sp 00000000ff8cecec error 4


Y al tratar de obtener un poco más de información me encentro en Launchpad con el que probablemente sea el error más sufrido actualmente en Ubuntu (no hay más que ver el número de suscriptores y duplicados).

Tal vez sea el momento de probar en profundidad SWFdec y Gnash Leer más...

sábado, 21 de febrero de 2009

Spam telefónico

Inicialmente el objeto de este blog era comentar cosas de caracter técnico, relacionadas con la informática y en particular con el software open source.

Ya en una ocasión estuve considerando utilizarlo para protestar, no porque pretenda conseguir nada, sino más bien a modo de pataleta, de que te sientes indefenso y al menos quieres desahogarte contando por ahí lo que te ha sucedido.

En esa ocasión en que estuve a punto de escribir, me sucedió algo como lo que cuenta un tal Javier, en unos comentarios (ver comentario del 3-feb-2009) de otra víctima del spam telefónico. Fue un día en el que recibí 8 llamadas anónimas de teleoperadores ofreciendo los servicios de turno, y una de ellas fue más agresiva de lo habitual.

En aquella época la mayor parte de las llamadas eran de teleoperadoras con acento latinoamericano. Mi forma de defenderme consistía en preguntar desde qué país se realizaba la llamada. El motivo era sencillo: si la llamada se hacía desde España citaba la LOPD, les decía que deseaba ser dado de baja y pedía datos de contacto de la empresa con el pretexto de pedir formalmente mi baja. La verdad es que en algunas ocasiones funcionaba y conseguía que fuera la propia teleoperadora la que me colgara (supongo que el motivo principal era no perder tiempo con un potencial cliente que no iba a contratar ningún servicio).


Imagen: Telekomor

En una de las ocasiones la conversación (llamada proveniente de número oculto) fue algo así:

- Buenas tardes, mi nombre es NNNNN de la compañía CCCCC y le llamo para ofrecerle el servicio SSSSS.
- Buenas tardes, ¿Me puede decir desde qué país me llama?
... Unos segundos de silencio. Supongo que esa pregunta no está en su guión y la deja descolocada ...
- No le estoy llamando desde el País Vasco.
... A continuación el que se queda descolocado soy yo. No sé si mi interlocutora me toma el pelo o es que sus conocimientos de geografía no le llegan ni para saber desde qué país llama...
- Mire, si no me responde no la voy a atender. (cuelgo)

A los pocos segundos recibo una llamada (de nuevo desde número oculto)
- Oiga es usted un maleducado que si no le interesa me lo podía haber dicho y no tiene por qué colgarme...
- ¿Yo un maleducado? O sea, ¿me llamas sólo para insultarme? Tú eres una sinvergüenza...
(me cuelga sin dejarme terminar siquiera la frase)

Vuelvo a recibir otra llamada de número oculto a los pocos segundos. Harto, decido no descolgar.

El teléfono deja de sonar, pero pocos segundos después, suena de nuevo. Esta vez es un número que empieza por 91. Descuelgo y me encuentro de nuevo con la misma teleoperadora, hablandome a gritos en tono amenazador. Sencillamente la mando a la mierda y cuelgo.

En los siguientes 30 minutos vuelvo a recibir varias llamadas en el teléfono, algunas de ese mismo 91 y otras anónimas. Paso de perder más tiempo y descolgar para que un personaje anónimo me insulte.

Es en esa ocasión cuando estuve tentado de contarlo todo en el blog, pero como mis obligaciones superan con mucho a mi tiempo libre, y de hecho apenas escribo un puñado de artículos al año, decidí olvidar el tema y dedicarme a contar cosas más interesantes en el escaso tiempo que puedo dedicar a escribir.

En aquella época (mediados de 2008) era raro el día que no recibía 3 ó 4 llamadas de este tipo. En agosto de 2008 en los principales periódicos (el mundo, el país) y en muchos blogs pudimos ver que los gobernantes se han hecho eco de los abusos (seguro que a alguno de ellos también le ha tocado atender este tipo de llamadas) y anuncian que se modificará la ley para combatir el spam telefónico. Ya en algunos comentarios de blogs, alguien insinuaba que esa ley no iba a cambiar nada, como así ha sido.

El caso es que, al menos en mi domicilio, hubo algunos meses de respiro en que pasamos de recibir unas 30 llamadas semanales de este tipo a recibir apenas 2 ó 3.

Supongo que durante este tiempo, los departamentos legales de las empresas que viven de irrumpir por teléfono en la vida de los ciudadanos, se dedicaron a rebuscar hasta que encontraron algún hueco legal o vieron que la ley era absolutamente inútil. El caso, es que a fecha de febrero de 2009, la situación es la misma.

Hoy mismo, le he explicado a un teleoperador que si ayer no me interesaba lo que me ofrecía, que hoy me seguiría sin interesar. Le he recordado que ayer pedí que me dieran de baja de su lista, y hoy se lo he vuelto a pedir. Supongo que en breve me volverá a llamar (¡qué considerado!, como es una oferta tan buena, no quiere que me la pierda y él insite en llamar).

Al igual que ocurre con el spam de correo electrónico (unas pocas empresas generan prácticamente la totalidad del que circula), en mi casa hay 3 empresas que generan el 80% de este tipo de llamadas. Hay varios blogs de otras personas que han sufrido este tipo de llamadas. En uno de ellos dan algunas indicaciones y proponen actuar por la vía legal.

El problema de actuar por la vía legal es la inaccesibilidad en la práctica para quien no puede dedicar mucho tiempo y tiene conocimientos legales limitados. No todo el mundo puede permitirse estar 14 meses (y aún no se ha resuelto) enviando faxes, aportando pruebas y arriesgandote a ser atacado legalmente por el abogado de la parte contraria sólo para que dejen de llamarte por teléfono (y sin haberlo conseguido todavía).

La historia, así como los comentarios de otras víctimas, no tienen desperdicio: I, II, III.

Como la ley (de momento) no parece tener ningún efecto, ya han desarrollado un invento para cortar este tipo de llamadas: Truecall, el problema es que la broma nos sale por 100 euros. También podemos optar por tratar de desesperar a quien llama, actuando tal y como lo haría un servico de atención al usuario.

Una última referencia: Un excelente artículo de la revista Consumer, explicando el funcionamiento de los call center.

Actualización (22-mayo-2009): Vuelvo a leer que el Gobierno va a prohibir el spam telefónico (¿Pero no lo había hecho ya?)

La noticia incluye mucas cosas que suenan demasiado bien como para ser creíbles. El hecho de que dentro de dos semanas haya unas elecciones resta un poco más de credibilidad a la misma (qué curioso, que las noticias que se aprueban justo antes de las elecciones son las que parecen preocuparse por el ciudadano, y que suelen dejar para unos días después las que pisotean impunemente todos estos derechos).

En fin, trataremos de ser positivos, intentaremos creernoslo y a ver si dentro de cuatro días no viene el listo de turno a decir que si un número sale publicado en un listín telefónico, esto indica que, de forma implícita, el titular acepta estar dispuesto a recibir llamadas comerciales sin restricciones en número ni horarios.

Actualización (27-julio-2009): En efecto, tal y como indiqué hace algo más de dos meses, las nuevas medidas no han servido para nada. Los abusos se siguen produciendo en el horario y con la frecuencia que les da la gana a quienes llaman indiscriminadamente.

En esta última semana he recibido un número inusualmente elevado de llamadas provenientes del 1485 (uno de los días que me llamaron, lo hicieron hacia las 11:30, les indiqué que no quería saber nada de su empresa y ese mismo día a las 13:30 me estaban llamando de nuevo). Harto, he registrado el número de mi móvil en www.listarobinson.es

Dentro de unos días sabré si el servicio en cuestión es útil o se trata simplemente de otra pantomima más en este circo de abusos y tomaduras de pelo en el que los ciudadanos somos el elemento cómico del espectáculo. Leer más...

martes, 20 de enero de 2009

GPS para Linux (II)

Tras haber mostrado en el anterior artículo el proceso de instalación de Navit, ahora nos ocuparemos de instalar en el equipo lo necesario para recibir señal de los satélites y así poder utilizarlo como navegador GPS.

La primera cuestión es elegir el hardware adecuado. Afortunadamente en la actualidad hay una fuerte competencia entre los fabricantes de chips receptores GPS, lo cual lleva a una constante mejora en las características de los mismos así como un abaratamiento de los receptores. Hoy en día es posible conseguir receptores de última generación, de gran sensibilidad y consumo muy reducido por precios sorprendentemente bajos.

En este caso en particular, el receptor utilizado en un Globalsat ND-100. Se trata de un receptor muy interesante, pues aúna características tales como reducido tamaño, muy bajo consumo, rapidez de adquisición, alta sensibilidad y sobre todo un coste sumamente reducido (Se pueden conseguir en eBay por menos de 30 euros, gastos de envío incluidos).



Una de las cosas que me llamó la atención fue el hecho de que se anunciaba con drivers para Linux, pero lo que me desconcertó, es que estos drivers se anuncian para sistemas "RedHat 7.3 / 8.0 / 9.0". Algunos de estos sistemas tienen 7 años de antigüedad, y curiosamente no se menciona ningún Linux reciente. A pesar de lo desconcertante de los drivers anunciados para Linux, seguí adelante y decidí comprar uno de estos dispositivos.



La decisión no pudo haber sido mejor. Al conectar el dispositivo GPS-USB en un Ubuntu 8.10 instalado en un equipo Asus EeePC 701, éste reconoció automaticamente lo necesario para tratarlo como un dispositivo que transmite datos por un puerto serie (Prolific PL2303 USB to serial adaptor).


~$ dmesg | tail -10

[ 104.472054] usb 3-2: new full speed USB device using uhci_hcd and address 2
[ 104.639516] usb 3-2: configuration #1 chosen from 1 choice
[ 104.986259] usbcore: registered new interface driver usbserial
[ 104.989944] usbserial: USB Serial support registered for generic
[ 104.992020] usbcore: registered new interface driver usbserial_generic
[ 104.992020] usbserial: USB Serial Driver core
[ 105.011304] usbserial: USB Serial support registered for pl2303
[ 105.013390] pl2303 3-2:1.0: pl2303 converter detected
[ 105.025605] usb 3-2: pl2303 converter now attached to ttyUSB0
[ 105.028018] usbcore: registered new interface driver pl2303
[ 105.028018] pl2303: Prolific PL2303 USB to serial adaptor driver


En estas líneas de dmesg se nos indica la referencia (ttyUSB0) del puerto serie que recibirá los datos del receptor GPS.



El siguiente paso es instalar gpsd. Esta paquete contiene la utilidad gpsd (que actúa como demonio sirviendo datos del GPS a cuantas aplicaciones lo requieran) y permite ocultar los detalles de la configuración del GPS a las aplicaciones que hacen uso de éste. Dado que este paquete se encuentra en los repositorios de Ubuntu, su instalación es sumamente sencilla:


~$ sudo apt-get install gpsd


Una vez instalado el servicio gpsd y con el receptor GPS conectado en el ordenador, colocamos éste en un lugar despejado en el que pueda recibir la señal necesaria para estimar su posición. A los pocos segundos el dispositivo obtiene su localización y comienza a enviar información a gpsd.


~$ gpsd /dev/ttyUSB0


Podemos comprobar los datos recibidos con xgps (utilidad incluida en el paquete gpsd-clients, el cuál se habrá instalado automáticamente al instalar gpsd). Obtenemos algo como esto:



El software de navegación que habíamos elegido (Navit) viene preparado para obtener datos de posicionamiento a través de gpsd, y de hecho la configuración por defecto trata de obtener los datos del GPS a través de dicho servicio. No tenemos más que ejecutar la aplicación y a los pocos segundos mostrará nuestra ubicación (la representación en pantalla dependerá de los mapas que hayamos decidido instalar en Navit).



Así de sencillo. No hemos tenido ni que abrir el miniCD con los drivers proporcionados por el fabricante del GPS y en pocos minutos hemos conseguido tener perfectamente en funcionamiento un dispositivo GPS conectado a nuestro sistema Linux.

Actualización (5/08/2009):

Dado que en los comentarios no se permiten determinadas etiquetas, respondo aquí cómo incluir en Navit los mapas de Openstreetmaps: Para incluir los mapas de openstreetmaps en Navit, se pueden cambiar los permisos al fichero o bien editarlo como sudo:

$ sudo gedit /etc/navit/navit.xml

En el fichero, hay que buscar la seccion correspondiente a openstreetmaps. En mi caso, lo tengo así (he tenido que poner espacios adicionales dado que blogger no permite introducir determinadas etiquetas en el contenido):


< !-- Mapset template for openstreetmaps -->
< mapset enabled="yes">
< map type="binfile" enabled="yes" data="/usr/share/navit/maps/peninsula.bin" />
< /mapset>


Se trata de un mapa de la Península Ibérica. Leer más...

lunes, 12 de enero de 2009

Navit: Navegación GPS para Linux

Ultimamente estoy interesado en el tema de desarrollo de software relacionado con posicionamiento mediante GPS, y en particular he estado recopilando información acerca de lo que hay disponible para Linux.

Mi interés particular se centra en lo que se conoce como GPS tracker (un sistema que genera un registro de los lugares en los que ha estado) para un proyecto en el que estoy comenzando a trabajar. Además, en paralelo, he estado examinando algunas de las aplicaciones libres disponibles para Linux de sistemas de navegación basados en GPS.

Podemos citar aplicaciones como Roadnav, RoadMap, GPSDrive, tangoGPS, Viking y Navit.

Quizás me deje alguna y seguramente más de una de las citadas no sean muy adecuadas como sistema de navegación, pero probablemente sean lo más parecido a los sistemas de navegación comerciales con los que quizás estemos más familiarizados.

Tras examinar la documentación acerca de las características de los sistemas, he decidido probar más en profundidad Navit pensando en que puede ser el que más se aproxime a lo que estoy buscando. Este software tiene algunas características que en mi caso particular me parecen interesantes.

Quiero insistir en que este artículo no es una comparativa y en ningún momento indico que ninguno sea mejor o peor que los otros. Para hacer una comparativa tendría que probarlos todos ellos en profundidad, y esto es algo que en este momento no he hecho.



Lo que he hecho ha sido instalar Navit en un Ubuntu 8.10 con una particularidad: El equipo. Se trata de un Asus EeePC 701 (512MB RAM y una pantalla de 7" de 800x480), es decir, un hardware muy limitado.

Una de las ventajas de utilizar Ubuntu es que al ser un sistema Linux muy extendido, son muchos los desarrolladores de software que proporcionan paquetes .deb ya preparados (sin necesidad de que el usuario compile el software), o mejor aún: Repositorios para poder instalar el software y gestionar sus actualizaciones del mismo modo que cualquiera de las aplicaciones incluidas con la distribución. Este es el caso de Navit.

En el caso de Ubuntu 8.10, añadimos la siguiente línea al fichero /etc/apt/sources.list


deb http://navit.latouche.info/ubuntu intrepid main

También podemos hacerlo desde la herramienta Synaptic, añadiendo esta línea desde la opción de menú "Opciones > Repositorios > Software de terceros".

Una de las dificulades con las que me encontré al tratar de instalarlo fue un tema de las firmas digitales. Aunque en la web se indican las claves a importar, no indican (o yo no lo supe encontrar) qué utilizar como servidor de claves. Tras realizar algunas búsquedas, encontré una página en el que se indican estos detalles.

En definitiva, que debemos de hacer lo siguiente:


~$ gpg --keyserver x-hkp://gpg-keyserver.de --recv-keys CB229096
~$ gpg --export -a CB229096 | sudo apt-key add -


Tras esto, ya podemos instalar la última versión del software disponible para nuestra distribución.


~$ sudo apt-get install navit


El siguiente paso es prepararar Navit: Principalmente obtener datos de un GPS e introducir mapas. Pero por ahora ya hemos dado el primer paso: Aunque en el estado actual (sin mapas ni GPS) sea de escasa utilidad, ya podemos ejecutar la aplicación.

Actualización (15-enero 2009):

Otro software que tiene un excelente aspecto y que habrá que probar en cuanto haya ocasión es QLandkarte

Leer más...

sábado, 1 de noviembre de 2008

Ubuntu: Convierte tus CDs a mp3

Estos días estoy migrando un viejo PC que tenía en casa a Ubuntu 8.10

Tras la instalación del sistema operativo y la migración de los datos del anterior sistema, ahora toca preparar y configurar las aplicaciones para que los usuarios del equipo puedan realizar las tareas que venían haciendo habitualmente en el anterior entorno de trabajo. Se trata de un equipo al que básicamente se le da un uso doméstico: Navegación, correo electrónico, ofimática muy básica y gestión de archivos de música y fotografías.

Una de las tareas que ocasionalmente va realizar el equipo en cuestión, es convertir algunos CDs de música a formatos más acordes con los tiempos y con la oferta de reproductores musicales existentes en el mercado

El caso es que decidimos utilizar el programa Rhythmbox que viene incluido con esta distribución de Ubuntu para realizar la conversión de formato. El primer problema con el que nos encontramos, es que inicialmente el entorno incluye soporte para codificar en formatos OGA y FLAC, pero no para otros como MP3.

Con respecto al formato a utilizar, en nuestro caso, inicialmente descartamos el formato FLAC. Dicho formato puede resultar interesante para melómanos, apasionados de la música y para quienes la escuchan en una sala de audición utilizando un equipo reproductor de alta fidelidad. En mi caso, la poca música que escucho sale a través de unos altavoces que no son precisamente de gama alta, y en muchas ocasiones en entornos ruidosos, como puede ser el equipo de música de un vehículo.

Si tuviera intención de escuchar la música únicamente en mi equipo Ubuntu, probablemente utilizaría el formato .oga (OGG Audio), pero como ya he mencionado, esta música se reproducirá probablemente en un autoradio de coche o en un reproductor de bolsillo. Por lo general, estos reproductores se limitan a los formatos de audio más populares (como MP3) otros específicos de determinados fabricantes (ATRAC) y en unos pocos casos, formatos un poco más actuales como AAC.

El programa Rhythmbox parece que incluye opciones para convertir a algunos de estos formatos más o menos populares, como AAC y MP3, pero inicialmente este soporte está incompleto. Tras realizar la instalación del sistema, éste no incluye inicialmente los códecs necesarios para realizar la conversión (aunque sí que proporciona los mecanismos para instalarlos de forma muy sencilla). El motivo de no incluir inicialmente soporte para dichos formatos es la limitación de los mismos por cláusulas legales y patentes. Los desarrolladores de Ubuntu dejan que sea el usuario quien decida si desea o no utilizar unos formatos con este tipo de limitaciones.

El objeto de esta entrada de blog es ayudar a quienes como yo están interesados en convertir música a los formatos en cuestión, y evitar el tener que instalar paquetes a ciegas tratando de dar con aquéllos que contienen los códecs que nos puedan interesar. Escribo esto tras haber leído unos cuantos mensajes en foros, y tras haber instalado algunos paquetes de gstreamer que realmente no eran necesarios.

Los paquetes necesarios para poder codificar audio en formatos AAC y MP3 son los siguientes:

AAC:
faac
libfaac0
gstreamer0.10-plugins-bad-multiverse


MP3:
lame
libmp3lame0
gstreamer0.10-plugins-ugly-multiverse


Una vez instalados, podremos convertir nuestros CDs de audio a dichos formatos mediante el programa Rhythmbox sin ninguna dificultad. Leer más...

jueves, 16 de octubre de 2008

Publicado Flash 10

Ayer, día 15 de octubre Adobe lanzó oficialmente la versión 10 de su reproductor Flash.

En la web de Adobe dedicada a dicho producto, podemos consultar las nuevas características y mejoras de ésta nueva versión del reproductor. También hay un documento (release notes) con información más detallada sobre éste. A destacar, entre otras, una capacidad mejorada de manejo de elementos 3D.

Seguramente en breve empezaremos a ver creaciones haciendo uso de todo el potencial de esta nueva versión.

Por el momento, podemos descargarla y probarla en algún sitio de juegos en Flash :-)

Leer más...

jueves, 9 de octubre de 2008

Instalación de FreeNX en Ubuntu

Debido a una situación un poco particular en unos puestos de trabajo de la empresa, estabamos buscando una solución software que permita desligar a usuarios de computadores.

Se trata de un entorno en el que hay menos computadores que usuarios, y en el que no hay una asignación de equipos a usuarios. Es decir, el usuario accede al equipo libre más próximo en ese momento (el usuario se desplaza por un área amplia con varias salas). Por otra parte, no vale compartir sesiones de trabajo, pues en el proceso intervienen aspectos que requieren identificación individualizada de modo que quede perfectamente registrado quién solicita un servicio, quien lo realiza y quién elabora el informe sobre éste.

Equipar a usuarios con portátiles no es una opción, pues éstos tienen que estar libres para hacer su trabajo, ya que la informática sólo es uno más de los servicios auxiliares que pueden requerir para trabajar.

La primera solución en la que uno piensa es en la creación de cuentas individuales en una determinada máquina y el acceso remoto desde los puestos de trabajo. El problema de esta opción implica que al iniciar sesión se inician de nuevo las aplicaciones. En ocasiones puede ser importante que las aplicaciones se mantengan en su estado para evitar pérdidas de tiempo con tareas rutinarias como abrir una y otra vez los mismos programas.

Por ahora, la mejor solución parece ser utilizar el software FreeNX. FreeNX es una implementación libre de NX, desarrollado por la empresa italiana NoMachine y liberado posteriormente. Por una parte, NX tiene las características que ofrecería algo así como abrir un escritorio remoto:


ssh -X usuario@host gnome-session


Para quienes están más habituados al mundo de Windows, esto viene a ser como iniciar una sesión de terminal-server en una máquina con Windows: Diferentes usuarios pueden estar trabajando simultáneamente, de forma remota y cada uno con su escritorio y su sesión particular.

Sin embargo, esta solución no sirve para trasladar el puesto de trabajo: Es decir, que si el usuario pasa a otra sala podría iniciar una nueva sesión pero para continuar trabajando en el punto en el que estaba debe iniciar de nuevo sus aplicaciones.

Lo que nos falta es la funcionalidad de VNC, que permite acceder gráficamente a una sesión de trabajo en el estado en que ésta se encuentre.

FreeNX es un entorno que aúna ambas ventajas: Permite a múltiples usuarios trabajar simultáneamente en una misma máquina y permite realizar una desconexión de una sesión para posteriormente retomarla, o bien en esa misma máquina o incluso en un puesto de trabajo diferente.


Instalación de FreeNX

En la empresa se está realizando un despliegue de puestos de trabajo que utilizan una distribución personalizada basada en Ubuntu. Lo que vamos a comentar es cómo se realizaría la instlación en un Ubuntu 8.04

La parte de servidor ha sido recientemente incluida en los repositorios de launchpad


https://launchpad.net/~freenx-team/+archive/


Basta con añadir los siguientes orígenes de software a nuestro gestor de paquetes.


deb http://ppa.launchpad.net/freenx-team/ubuntu hardy main
deb-src http://ppa.launchpad.net/freenx-team/ubuntu hardy main


Por otra parte, el software cliente está disponible en el sitio web de nomachine:


http://www.nomachine.com/download-package.php?Prod_Id=57


Descargamos la versión más reciente disponible en la fecha actual, que es la 3.2.0-14

Parte del software (p.ej. nxserver) se instala en /usr/bin, mientras que otra parte se instala en la ubicación /usr/NX. Esta última con toda seguridad no estará incluido en nuestra variable de entorno path.

El servidor funciona sin más tras la instalación. Si deseamos realizar cambios en la configuración deberemos realizar las modificaciones en los correspondientes ficheros de /etc/nxserver, en particular /etc/nxserver/node.conf

Con la configuración por defecto es suficiente para funcionar de forma razonablemente segura, más teniendo en cuenta que lo hacemos dentro de una red privada aislada.


$ sudo nxserver --status
NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.2.0)
NX> 110 NX Server is running
NX> 999 Bye


A continuación podemos lanzar la parte cliente. En este caso, nos vamos a conectar a nuestra propia máquina utilizando un usuario diferente


$ /usr/NX/bin/nxclient &




Podemos ver la sesión de trabajo de otro usuario en el computador. La empresa en cuestión es una institución sanitaria y los usuarios son médicos y enfermeras de un Servicio de Urgencias. Si el usuario (un médico atendiendo a un paciente) debe de cambiar de sala de exploración, éste puede trasladar con él su entorno de trabajo: los informes, analíticas o imágenes a las que estuviera accediendo se mostrarán en el nuevo puesto tal y como los hubiera dejado en su anterior acceso al sistema informático.

Por ahora sólo es una idea, que si tras un proceso de evaluación funciona de forma satisfactoria, puede terminar implantada en el entorno en cuestión. Leer más...

miércoles, 24 de septiembre de 2008

Procesadores Atom de doble núcleo

Hacia finales de mayo Intel anunció su intención de sacar al mercado procesadores Atom de doble núcleo. Ya a finales del mes de agosto comenzaron a filtrarse algunas fotografías (1, 2, 3) de las primeras unidades, y este lunes (día 22) ha sido la presentación oficial del procesador en cuestión.

Se trata sin duda de una excelente noticia para todos aquéllos interesados en equipos silenciosos, de pequeño tamaño y de bajo consumo. Es importante resaltar que a pesar de disponer de dos núcleos, se anuncia una cifra de 8W de TDP.

No se trata de rumores ni de promesas a futuro, sino que es un producto ya disponible. De hecho, incluso hay ya alguna revisión y comparativa de prestaciones del nuevo micro.

Y para quienes deseen un PC ya montado, también existe la posibilidad de hacerse con equipos muy interesantes, en este caso con el valor añadido de que incorpora un Linux (Ubuntu 8.04) preinstalado.

Por el momento, la versión lanzada (Atom 330) es unicamente para equipos de sobremesa. Con este nuevo componente, la familia Atom queda de la siguiente manera:

Sobremesa:
Atom 230 23$ 1.6GHz, DDR2@533MHz, 512KB L2 caché
Atom 330 43$ 2x1.6GHz, DDR2@667MHz, 1MB L2 caché

Portátiles:
Atom N230 44$ 1x1.6GHz

* Precios a fecha de septiembre de 2008, en lotes de 1000 unidades.

Viendo la situación, parece razonable pensar que podría aparecer en breve la versión para portátiles (serie N) de este procesador 330. Esto permitiría un importante aumento de prestaciones en los equipos de tipo netbook. Parece ser que en lo que queda hasta fin de año veremos novedades y movimiento en el sector.

Actualización:

Por cierto, en eBay ya se pueden comprar por menos de 100 dólares placas (Intel-D945GCLF2-mini-ITX) con el Atom 330. Leer más...

miércoles, 10 de septiembre de 2008

Ubuntu 8.10 en el Asus Eee PC

Hace escasos días se ha publicado la versión alfa-5 de Ubuntu 8.10. Tras haber estado anteriormente probando Ubuntu 8.04 desde versiones alfa, la verdad es que no me quedaron muchas ganas de pasar de nuevo por lo mismo: Docenas de paquetes se actualizan a diario, y en un equipo con un procesador modesto y un disco que no destaca por sus prestaciones, mantener actualizado el sistema es una tarea que requiere dedicar un tiempo considerable.

Lo que me ha llevado esta vez a actualizar de nuevo a una versión en desarrollo son los problemas con la tarjeta inalámbrica del equipo.

Estamos hablando de un Asus Eee PC 701 512MB/4GB. Como ya es conocido, la versión de SO que venía utilizando hasta el momento (Ubuntu 8.04 LTS) no soporta de forma nativa el adaptador de red inalámbrico (Atheros AR2425). Las posibles soluciones pasaban por utilizar los drivers de Windows XP y utilizarlos mediante ndiswrapper, o compilar e incluir unos drivers madwifi.



La cuestión es que decidí utilizar un kernel modificado, que parecía estar teniendo mucho éxito, pues no sólo incluye los controladores de la tarjeta inalámbrica, sino también muchas otras optimizaciones específicas para equipos de la familia Eee PC.

El problema es que con este kernel, la red inalámbrica aparentemente funcionaba, pero con multitud de problemas: Desconexiones, solicitudes repetidas de password en el caso de redes encriptadas, establecimiento correcto de conexión pero sin posterior circulación de tráfico, etc. En definitiva, el driver sólo funcionaba de forma correcta en caso de conexiones a redes sin encriptación. Obviamente esto no era un solución aceptable, pues ni siquiera podía conectarme a mi propia red en casa, en la cual lógicamente utilizo encriptación.

Estuve haciendo infinidad de pruebas y cambios en mi red inalámbrica, e incluso llegué a cambiar el software de configuracion de red de Ubuntu, sustituyendo Network Manager por Wicd. Wicd es un excelente software de gestión de configuraciones de red, pero por desgracia, el problema persistía y mi tarjeta inalámbrica era incapaz de conectar a una red protegida.

La solución viene de la mano de los drivers ath5k_pci. Al enterarme de que el kernel de Ubuntu 8.10 (2.6.27) incluía dichos drivers decidí hacer alguna prueba. El resultado no puede ser más satisfactorio: Por fin puedo utilizar la red wifi en el equipo sin problemas, en el sistema operativo que yo quiero, y sin depender de soluciones particulares con las consiguientes dudas sobre su mantenimiento y continuidad.

La única modificación necesaria es evitar el uso del anterior driver ath_pci. Para ello es suficiente con marcarlo como blacklist; se edita el fichero...

$ sudo vi /etc/modprobe.d/blacklist

... y se añade la siguiente línea:

blacklist ath_pci


Ahora sólo queda instalar tal vez cientos de actualizaciones en los aproximadamente 50 días restantes hasta la salida de la versión 8.10, pero esto es un problema menor. Al fin tengo un Eee PC con un Ubuntu perfectamente operativo. Leer más...

miércoles, 30 de julio de 2008

Placas base con Intel Atom

Recientemente he empezado a trabajar en un proyecto para el cual necesito un ordenador pequeño y silencioso. Una placa de pequeño tamaño (mini-ITX) sería lo suficientemente pequeña para mis necesidades y de hecho, he empezado examinando la oferta actual en este formato de placas.

Casualmente, las fechas han coincidido con el lanzamiento de las primeras placas base con los procesadores de la serie Atom de Intel. Es una excelente noticia, ya que estos procesadores tienen unos consumos realmente bajos, y unas prestaciones similares a las de un Pentium IV de hace un par de años (suficiente para el proyecto en cuestión).

La primera de estas placas viene directamente de la mano de Intel, y está pensada para equipos domésticos. Se trata del modelo D945GCLF. Esta placa está ya a la venta en algunos sitios y se puede conseguir por unos 50 euros, un precio muy interesante sobre todo teniendo en cuenta que el procesador está incluido (viene soldado a la placa). Como curiosidad, indicar que el disipador grande con el ventilador no corresponde al procesador, sino al chip northbridge (Intel 945GC), que es el componente con mayor consumo de energía en estas placas.



Otro de los fabricantes que se han apresurado a sacar al mercado placas con el procesador Atom es MSI. Se trata del modelo Wind Board, o tmabién MS-7314.



Entre las principales puntos a destacar de esta placa, está la ausencia de ventiladores (se consigue la refrigeración utilizando un disipador de mayor tamaño) y la disponibilidad de dos ranuras para módulos de memoria. La placa se anuncia por unos 95 dólares, aunque por ahora son muy pocos los sitios en los que poder comprarla. Otro de los aspectos interesantes, es que el fabricante ha lanzado al mercado un PC de sobremesa basado en esta placa, con un consumo de unos 30~35W. Se trata del MSI Wind Desktop, y se espera que esté disponible en breve por un precio entre 200 y 300 dólares.



También Gigabyte se ha interesado en el procesador Atom y se ha apresurado a sacar su correspondiente placa al mercado. Se trata del modelo GA-GC230D. Al igual que la placa de Intel, lleva una única ranura DIMM y un ventilador. Tal y como sucede con la placa de MSI, por ahora no son muchos los sitios en los que se puede encontrar. El precio de la placa ronda los 90 euros.



El fabricante ECS (Elitegroup Computer Systems) también ha sacado al mercado una placa con el procesador Atom. En esta caso, se trata del modelo 945GCT-D



Resulta una placa muy interesante por algunas características, como refrigeración pasiva (sin ventilador), dos ranuras DIMM y un conector PCIe. A modo de curiosidad, indicaré que en algunos artículos he leído que por limitaciones en la arquitectura del procesador Atom, no existen placas con más de una ranura DIMM ni con puertos PCIe. Me temo que dichas afirmaciones no son correctas. Por ahora, otra placa difícil de encontrar, si es que está disponible en algún sitio.

El fabricante Foxconn parece que quiere entrar con fuerza en el segmento de los equipos de bajo consumo, y aunque de momento no hay información oficial en su web sobre placas con Atom, en la feria Computex 2008 ha presentado tres modelos 45CS, 45CTP, 45CTE.



A destacar, en el modelo Foxconn 45CTE la existencia de una ranura para tarjetas Compact Flash, así como un conector PCI-Express.



Circulan por la red fotografías de algunos modelos adicionales de placas para equipos de sobremesa con procesador Atom. Por ahora no hay mucha más información salvo algunas fotografías.

Pegatron PXLP-LV:


PC Partner 945GCIS3-AE9CG:


J&W Tech J945ITX01:


Jetway J9C2:


Habrá que estar atentos, pues la proliferación de este tipo de equipos promete ser un terreno con mucho movimiento en breve. La idea de tener un equipo pequeño, silencioso y con un consumo de unos 30W es muy atractiva. Leer más...

sábado, 19 de julio de 2008

Creación de USB Live

En la anterior entrada del blog, hacía referencia a algunas utilidades para crear unidades USB Live de forma sencilla.

Este tipo de utilidades parece que se ven popularizando, y quizás el proceso de creación manual de unidades USB capaces de arrancar pronto va a convertirse en algo del pasado.

En este caso vamos a hablar de UNetbootin (The Universal Netboot Installer).



Esta utilidad presenta algunas características muy interesantes, como son:

  • Está disponible para ser ejecutada tanto en equipos Windows como Linux
  • Dispone de información predefinida (y actualizada) sobre una gran cantidad de sistemas, de modo que la creación de la unidad USB Live se puede reducir a descargar la imagen a instalar y unas pulsaciones de ratón.

Voy a probarlo ahora mismo preparando un USB Live con Ubuntu-8.04.1 Leer más...