Conectar el wiimote a GNU/Linux Debian

La consola elegida por mi como ganadora de la generación actual ha sido la nintendo wii.

Llevo un par de días con ella y es una buena inversión. Una forma distinta de jugar.

El caso es que como durante el tiempo que llevaba la wii en el mercado ya había leído sobre la posibilidad de conectar el mando al ordenador y así usarlo como dispositivo de entrada (como un ratón vamos). Se puede hacer, rapidísimamente además.
Basta con tener los elementos adecuados y con teclear un par de comandos para que todo funcione.

Elementos hardware:

  • mando de la nintendo wii o wiimote
  • receptor bluetooth

Elementos software en Debian:

  • libwiimote0 – library to interface with the wiimote
  • libwiimote0-dev – library to interface with the wiimote — development
  • wmgui – GUI interface to the wiimote
  • wminput – Userspace driver for the wiimote

Basta con pulsar los botones 1 + 2 del mando para que éste se ponga en modo búsqueda/sincronización. Los leds azules parpadearán.
Luego con ejecutar wmgui o wminput (este como root, aunque se puede configurar para cualquier usuario) se puede probar el invento.

De momento con las pruebas que yo he hecho en cinco minutos puedo decir que el movimiento del puntero es un poco lento y no del todo correcto. Será cuestión de tiempo que se perfeccione el algoritmo que interpreta el movimiento del mando.
He de terminar comentando que actualmente el driver para el wiimote se ha desarrollado como una parte de la adaptación de GNU/Linux a la consola nintendo wii.

Referencias:

WiiLi, a GNU/Linux port for the Nintendo Wii.

Etiquetas: , , , , ,

Debian «etch» GNU/Linux 4.0 publicado

El proyecto Debian se complace en anunciar la publicación oficial de la versión 4.0 de Debian GNU/Linux, nombre en clave «etch», tras 21 meses de desarrollo constante. Debian GNU/Linux es un sistema operativo libre que soporta un total de once arquitecturas de procesador e incluye los entornos KDE, GNOME y Xfce. También incluye programas criptográficos, es compatible con la versión 2.3 de la FHS y con aquellos programas desarrollados para la versión 3.1 del LSB.

Debian GNU/Linux 4.0 incluye un proceso de instalación totalmente integrado, que podrá utilizar para usar particiones cifradas. Esta publicación introduce una nueva interfaz gráfica del sistema de instalación que soporta tanto grafías que utilizan caracteres compuestos como lenguas complejas. El sistema de instalación de Debian GNU/Linux ahora está traducido a 58 idiomas.

A partir de Debian GNU/Linux 4.0, se ha mejorado la seguridad y la eficiencia del sistema de gestión de paquetes. «APT seguro» («Secure APT») hace posible verificar de la integridad de los paquetes descargados desde un servidor réplica. Además, no se actualizan los índices de los paquetes descargando un fichero completo, sino parcheándolo con archivos más pequeños que contienen sólo las diferencias con las versiones anteriores.

Debian GNU/Linux se ejecuta en ordenadores que van desde PDA y sistemas de bolsillo a supercomputadores, pasando por prácticamente cualquier sistema intermedio. Se soportan un total de once arquitecturas: Sun SPARC (sparc), HP Alpha (alpha), Motorola/IBM PowerPC (powerpc), Intel IA-32 (i386) y IA-64 (ia64), HP PA-RISC (hppa), MIPS (mips, mipsel), ARM (arm), IBM S/390 (s390) y (introducido por primera vez en Debian GNU/Linux 4.0) AMD64 e Intel EM64T (amd64).

Se puede instalar Debian GNU/Linux de varias formas: desde DVD, CD, memorias USB y disquetes, o utilizando una red. El entorno de escritorio predeterminado es GNOME y se distribuye en el primer CD, se pueden instalar los entornos de escritorio K (KDE) y Xfce usando las dos nuevas imágenes de escritorio alternativas. También, por primera vez en Debian GNU/Linux 4.0, se proporcionan CDs y DVDs multiarquitectura que permiten la instalación de múltiples arquitecturas desde un único disco.

Puede descargar Debian GNU/Linux usando bittorent (ahora es el método recomendado), jigdo o HTTP. Para más información consulte . Además, pronto estará disponible en DVD y CD-ROM a través de numerosos distribuidores

Esta publicación incluye varias actualizaciones de los paquetes de programas, como el entorno de escritorio K 3.5 (KDE), una versión actualizada del entorno de escritorio GNOME 2.14, el entorno de escritorio Xfce 4.4, el escritorio GNUstep 5.2, X.Org 7.1, OpenOffice.org 2.0.4a, GIMP 2.2.13, Iceweasel (una versión de Mozilla Firefox 2.0.0.3 que no utiliza la marca registrada), Icedove (una versión de Mozilla Thunderbird 1.5 sin la marca registrada), Iceape (una versión Mozilla Seamonkey 1.0.8 sin la marca registrada), PostgreSQL 8.1.8, MySQL 5.0.32, la colección de compiladores de GNU 4.1.1, la versión 2.6.18 del núcleo Linux, Apache 2.2.3, Samba 3.0.24, Python 2.4.4 y 2.5, Perl 5.8.8, PHP 4.4.4 y 5.2.0, Asterisk 1.2.13, y más de otros 18.000 paquetes listos para usarse.

La herramienta de gestión de paquetes «aptitude» gestiona la actualización a Debian GNU/Linux 4.0 desde la pubicación anterior, Debian GNU/Linux 3.1 nombre en clave «sarge», de forma automática para para la mayoría de la configuraciones. Esta actualización se puede hacer en cierta medida también a través de la herramienta de gestión de paquetes «apt-get». Como siempre, los sistemas Debian GNU/Linux se pueden actualizar practicamente sin miedo, en el momento, sin forzar ninguna pérdida de produtividad, pero se ruega encarecidamente que se lean las notas publicación para anticipar cualquier problema. Si desea las instrucciones detalladas sobre instalar o actualizar Debian GNU/Linux, por favor, lea las notas de publicación . Por favor, tenga en cuenta que las notas de publicación se mejorarán y traducirán a otros idiomas en las próximas semanas.

Referencias:

Etiquetas: , , ,

Virtualización con Virtual Box. ¿Problemas con los usb?

Para los que patinan normalmente con estos temas informáticos un poquito de ayuda.
La virtualización consiste en que en un ordenador físico puedas ejecutar N sistemas operativos a la vez. A día de hoy no se encuentran grandes diferencias entre usar una máquina virtual y una máquina física. Aun así hay que tener en cuenta que no son equivalentes, quedan algunos peros. Hay cierto tipo de periféricos, como dispositivos pcmcia o tarjetas gráficas, que no proporcionan el mismo rendimiento (o ninguno). Luego según el procesador puedes tener un rendimiento mejor o peor.

El caso es que estaba probando una alternativa libre (tiene digamos licencia doble, algunas partes extras son privativas) a vmware, llamada virtual box. Con un window$ (obligatorio en ocasiones) llamado windows fundamentals legacy, que consiste en un window$ con lo mínimo e indispensable.

El caso es que tuve que cambiar algunos permisos del sistema de ficheros usb para que funcionasen los dispositivos usb.
Para hacer esto podría haber tocado en la “tabla de sistemas de archivos” que se encuentra en /etc/fstab, pero dudando y leyendo cosas preferí terminar tocando el archivo /etc/init.d/mountkernfs.sh que se encarga de preparar los sistemas de archivos favoritos icon smile Virtualización con Virtual Box. ¿Problemas con los usb? del kernel Linux.

root@LOCAL:~$ diff /etc/init.d/mountkernfs.sh /etc/init.d/mountkernfs.sh~
72,73c72
< domount usbfs usbdevfs /proc/bus/usb usbfs -onodev,noexec,nosuid,devgid=1007,devmode=0664
---
> domount usbfs usbdevfs /proc/bus/usb usbfs -onodev,noexec,nosuid

Por cierto, el devgid 1007 es el número del grupo usbusers que he creado y en el que he incluido mi usuario. Aun así he puesto unos permisos permisivos 0664.

Os dejo unos enlaces de lectura recomendada (por llamar de otra forma a mis fuentes), como siempre:

Etiquetas: , , ,

Deactivate debug mode on Vmware Workstation 6 Beta

If you are running Vmware Beta you must have notice that VMware Workstation 6.0 Beta is too slow. I knew that the main reason for the latter is due to the fact that the beta runs in debug mode. When you boot-up a VM a pop-up message informs you that debug mode can’t be turned off.

All you have to do is to exchange the bin-debug folder with the bin folder in the directory where you installed VMware Workstation. Rename the bin-debug folder first, for example, to bin-debug.back, and then copy the bin folder to bin-debug. When you boot-up a VM, you won’t get the message anymore, informing you that VMware Workstation runs in debug mode.

root@LOCAL:/usr/lib/vmware$ mv bin-debug bin-debug.bak
root@LOCAL:/usr/lib/vmware$ cp -R bin bin-debug
root@LOCAL:/usr/lib/vmware$ ls -la /usr/lib/vmware
total 164
drwxr-xr-x 23 root root 704 2007-03-15 16:34 .
drwxr-xr-x 287 root root 109384 2007-03-27 16:15 ..
drwxr-xr-x 2 root root 216 2007-03-15 16:34 bin
drwxr-xr-x 2 root root 216 2007-02-25 20:07 bin-debug
drwxr-xr-x 2 root root 80 2007-02-25 20:07 bin-debug.bak
drwxr-xr-x 2 root root 80 2007-02-25 20:07 bin-stats
-r–r–r– 1 root root 615 2007-02-25 20:07 config
drwxr-xr-x 2 root root 112 2007-02-25 20:07 configurator
drwxr-xr-x 3 root root 88 2007-02-25 20:09 eclipse-ivd
drwxr-xr-x 2 root root 72 2007-02-25 20:09 floppies
drwxr-xr-x 4 root root 104 2007-02-25 20:07 help
drwxr-xr-x 3 root root 2448 2007-02-25 20:07 help-guestinstall
drwxr-xr-x 3 root root 17024 2007-02-25 20:07 help-manual
drwxr-xr-x 2 root root 400 2007-02-25 20:07 isoimages
drwxr-xr-x 58 root root 2136 2007-02-25 20:07 lib
drwxr-xr-x 4 root root 96 2007-02-25 20:07 libconf
drwxr-xr-x 4 root root 96 2007-02-25 20:09 licenses
drwxr-xr-x 4 root root 96 2007-02-25 20:07 messages
drwxr-xr-x 4 root root 96 2007-02-25 20:07 modules
-r-xr-xr-x 1 root root 28780 2007-02-25 20:09 net-services.sh
drwxr-xr-x 4 root root 120 2007-02-25 20:07 share
drwxr-xr-x 2 root root 248 2007-02-25 20:07 tools-upgraders
drwxr-xr-x 4 root root 96 2007-02-25 20:09 vmware-crosstalk
drwxr-xr-x 3 root root 72 2007-02-25 20:16 vmware-vix
drwxr-xr-x 2 root root 816 2007-02-25 20:07 xkeymap

In case you find a bug and want to help VMware solve this problem, you can enable debug mode by exchanging the bin-debug folder again.

If anyone tries with symlinks and works, please, leave a comment.

References:

Etiquetas: , , , , , , ,

Usar un teclado Bluetooth Nokia SU 8W en GNU/linux Debian


Con sólo hacer lo siguiente ya tendremos el teclado funcionando:

usuario@LOCAL:~$ hcitool scan
usuario@LOCAL:~$ hidd –connect < mac-addr-from-nokia-keyboard >

Claro esta que estas utilidades para bluetooth requieren de un receptor bluetooth en el ordenador además del respectivo software.
Los paquetes en que se incluyen las utilidades anteriores son bluez-utils y creo que también es necesario bluez-gnome.

root@LOCAL:~$ apt-get install bluez-utils bluez-gnome

Yo tengo instalados algunos paquetes más sobre bluetooth, si tenéis problemas, preguntad.

Puede que las teclas se ajusten a la configuración de teclado existente en el sistema. ¿Y esto que significa?
Esto puede causar que las teclas o símbolos escritos no coincidan con las teclas o símbolos pulsados. Creo que se debe a que el teclado viene configurado por alguna parte a lo inglés.

3668
3672
3676
3680
3684
3688

El problema de los aparatos inalámbricos es que algún bribón te puede estar monitorizando lo que haces. Asín que cuidadín.

He de comentar que el precio del teclado, para lo que es, es bastante caro.

Su uso principal está asociado a los terminales móviles de Nokia, no a un ordenador, mejorando la escritura de los teclados estilo móvil que incorporan.
A mí me viene bien para manejar el ssh para el móvil symbian que he comprado hace poco. Esto de necesitar Internet en cualquier sitio es lo que tiene.

Estoy abierto a comentarios y dudas.

Etiquetas: , , , , , , , , , , ,

Ejecutar aplicaciones gráficas en remoto desde la línea de comandos

Introducción

Vamos a ver como ejecutar aplicaciones con interfaz gráfico que están instaladas en una máquina remota pero que quieres verlas directamente en tu ordenador local.
Como prerequisito las máquinas remotas serán sistemas GNU/LINUX o UNIX.
En sistemas window$ también se tiene que poder hacer, probar suerte buscando información sobre seamless RDP.

Controlar las aplicaciones de una máquina remota sin tener que estar frente a ella no tiene mucho interés para un usuario normal, pero para aquel que hace cosas más avanzadas es el pan de cada día.
En sistemas LINUX/UNIX es siempre imprescindible SSH. Eso nos proporciona una consola en modo texto. Trabajar en modo texto siempre es muy cómodo, porque no hay sensación de lejanía en la respuesta del equipo remoto, es como trabajar directamente sobre él.
En cuanto pasamos a querer controlar aplicaciones en máquinas remotas de forma gráfica la cosa se torna incómoda. La comodidad a la hora de trabajar se reduce porque la información tarda mucho en ir y volver. Es como vivir en modo Matrix. Tu te mueves a una velocidad normal, pero lo que ves en la pantalla se mueve a la velocidad de un erizo.

Por eso hay que aligerar las cosas. No es lo mismo querer tener delante todo un escritorio que usar sólo una aplicación. Con sólo una aplicación la cosa se hace llevadera. Esto es lo que voy a explicar cómo hacer.
En el caso de querer usar una sesión completa la cosa depende de si la otra máquina esta en tu red local o una red a través de la red Internet.
En tu propia red te puede valer cualquier servidor VNC o XDMCP. Aunque siempre mejor NX.
A través de la Internet te queda NX. NX es un protocolo optimizado para conexiones X11/XDMCP.

Método Fetén

Para permitir que todo funciones de forma óptima y ssh realice automáticamente la parte responsable de securizar flujos de datos (gráficos y textuales) hay que modificar primero el servidor SSH de la máquina remota (fichero /etc/ssh/sshd_config). Activaremos las dos variables indicadas. Activar estas opciones conllevan ciertos riesgos de seguridad.

/etc/ssh/sshd_config
X11Forwarding yes
AllowTcpForwarding yes

Ahora basta con conectarnos usando la opción -X (X11 forwarding) y -Y (X11 trusted forwarding) del cliente SSH. En Debian -Y es una opción que funciona por defecto si no se especifica nada en otro sitio (~/.ssh/config, /etc/ssh/ssh_config).

usuario@LOCAL:~$ echo $DISPLAY
:0.0
usuario@LOCAL:~$ ssh -Y usuario@maquina-remota
Password:
Linux maquina-remota 2.6.18-3-686 #1 SMP Mon Dec 4 16:41:14 UTC 2006 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
No mail.
Last login: Mon Mar 5 03:55:53 2007 from XX.XX.XX.XX
usuario@maquina-remota:~$ echo $DISPLAY
localhost:10.0
usuario@maquina-remota:~$ xlogo
[Por pantalla se muestra una ventana con el logotipo X]
usuario@maquina-remota:~$ exit
logout
Connection to XY.XY.XY.XY closed.

Método algo falla (o, no te enteras capullo)

Este método se daba cuando aun no comprendía cómo funcionaba todo el tinglao este de redirecciones de SSH, etc. Pero lo considero útil de exponer. Porque se puede necesitar para una máquina a la que no tengas acceso de superusuario para modificar configuraciones. O porque tienes problemas con su en tu propia máquina.

Qué hacer en la máquina local

Para podernos conectar gráficamente nos valemos de la opción -X (X11 forwarding) y -Y (X11 trusted forwarding) del cliente SSH. Si usas estas opciones de conexión te debería dar igual si hay cortafuegos de por medio. En Debian -Y es una opción que funciona por defecto si no se especifica nada en otro sitio (~/.ssh/config, /etc/ssh/ssh_config).

Si estamos en window$ debemos tener un servidor X local para que se comunique con él la aplicación gráfica remota (que hace de cliente X remoto). Esto lo logramos instalando Cygwin. Cuando nos pidan las aplicaciones que va a instalar instalamos xorg/xfree86 y también el cliente SSH.

Una vez todo listo con el siguiente comando podremos ejecutar aplicaciones gráficas remotas

usuario@LOCAL:~$ ssh -X -Y usuario@maquina_remota

Si se muestra un error (lo normal) hay que editar la configuración del servidor X para permitir que acepte peticiones y conexiones TCP. Por defecto nuestro gestor de pantalla sólo maneja puertos tipo UNIX, que pecan de ser sólo de uso local.
Una opción es usar el programa de configuración del gestor de pantalla(gdm, kdm, …) para permitir conexiones TCP. Para gdm es gdmsetup.
Otra es modificar la variable DisallowTCP en el fichero de configuración del gestor de pantalla. Para gdm es /etc/gdm/gdm.conf.

/etc/gdm/gdm.conf
# If true this will basically append -nolisten tcp to every X command line,
# a good default to have (why is this a “negative” setting? because if
# it is false, you could still not allow it by setting command line of
# any particular server). It’s probably better to ship with this on
# since most users will not need this and it’s more of a security risk
# then anything else.
# Note: Anytime we find a -query or -indirect on the command line we do
# not add a “-nolisten tcp”, as then the query just wouldn’t work, so
# this setting only affects truly local sessions.
DisallowTCP=false

Además de permitir conexiones TCP hay que indicar quién las puede realizar.
Con xhost modificamos quien se puede conectar al servidor gráfico que se ejecuta actualmente. Permitimos que la máquina a la que nos vamos a conectar tenga acceso a nuestra sesión.

usuario@LOCAL:~$ xhost +maquina_remota

Qué hacer en la máquina remota

Puede que haya que retocar alguna regla del cortafuegos que tenga que ver con X11 o XDMCP. Depende de como se ejecute.

En teoría si hemos ejecutado ssh con -X -Y no habría que tocar nada de la variable DISPLAY, se haría automáticamente, pero por alguna razón yo en Debian tengo que modificarlo a mano (véis el porque de lo de que era un capullo).
Lo principal es indicar desde la línea de comandos remota dónde queremos que se vea la aplicación gráfica. Para ello hay que hacer uso de la variable de entorno DISPLAY que le indica a los programas cuál es su servidor X gráfico.

usuario@maquina-remota:~$ export DISPLAY=[maquina-local]:[display-servidor-X]

En caso de que tratemos de ejecutar alguna aplicación gráfica, por ejemplo xlogo, se debería mostrar el siguiente error.

usuario@maquina-remota:~$ xlogo
Xlib: connection to “[maquina-local]:[display-servidor-X]” refused by server
Xlib: No protocol specified
Error: Can’t open display: [maquina-local]:[display-servidor-X]
No se pudo abrir la pantalla porque el servidor X no se está ejecutando. [Mensaje en versión española]

Esto se debe a que tenemos que retocar el servidor X de nuestra máquina local. Hay que indicar a quién permitimos conectarse a nuestro servidor gráfico.
Si no se muestra el error es porque ya lo tenemos configurado de antemano. Si lo hemos modificado nosotros para que funcione así no hay problema, pero por defecto se debería mostrar el error anterior por cuestiones de seguridad.
El mensaje anterior puede resultar desconcertante para cualquier usuario de sistemas GNU/LINUX o UNIX que desconozca el uso y disfrute de la variable DISPLAY.
Puede que también se muestre este error en tu máquina local cuando te autenticas (logeas) como otro usuario mediante el comando su -

Ejemplo práctico

usuario@LOCAL:~$ ssh -X -Y usuario@maquina_remota
usuario@maquina-remota:~$ xlogo
Error: Can’t open display:
usuario@maquina-remota:~$ export DISPLAY=192.168.0.102
usuario@maquina-remota:~$ xlogo
Error: Can’t open display: 192.168.0.102
usuario@maquina-remota:~$ export DISPLAY=192.168.0.102:0
usuario@maquina-remota:~$ xlogo
Xlib: connection to “192.168.0.102:0.0″ refused by server
Xlib: No protocol specified
Error: Can’t open display: 192.168.0.102:0
usuario@maquina-remota:~$ exit
usuario@LOCAL:~$ xhost +192.168.0.1
192.168.0.1 being added to access control list
usuario@LOCAL:~$ ssh -X -Y usuario@maquina_remota
usuario@maquina-remota:~$ export DISPLAY=192.168.0.102:0
usuario@maquina-remota:~$ xlogo
[Por pantalla se muestra una ventana con el logotipo X]

Referencias interesantes:

Etiquetas: , , , , , , , , ,

GNU/Linux Fácil: descargar y probar

Yo recomendaría Debian, pero para empezar, cuanto más fácil, mejor.

Corre, ve, lee… descarga y prueba.

¿Alguien conoce algún sistema operativo que arranque desde el CD, aparte de linux?

Además, os presento a mí nueva mascota. Un Tux, de la familia Tux de toda la vida.

3652
3648
3644
3640

Este sí que es un buen regalo.

Etiquetas: , , , , , , , , , , , , ,

Configurando los infrarrojos mediante lirc de una Creative Sound Blaster Audigy 2 NX

Hoy, amigos, voy a publicar algo inacabado, para ver si entre los comentarios y el tiempo algún día consigo que funcione.

Se trata de poder manejar con los infrarrojos nuestro ordenador. Para ello necesitaremos las típicas tarjetas de televisión que llevan un receptor infrarrojos con su mando a distancia. Puede que existan más dispositivos, como en este caso, mi antigua y estropeada tarjeta de sonido.

La culpa de tener que realizar todas estas triquiñuelas la tiene Creative por no suministrar soporte a plataformas GNU/Linux. Todo se andará, por mis santos cojones, pero mientras…

El caso es que para que funcione hay que hacer que el kernel entienda de infrarrojos, configurar la aplicación que sabe que hacer con los aparatitos que manejan infrarrojos y por último adaptar los distintos programas que permiten ser manejados mediante infrarrojos.
Opcionalmente podremos crear nuestros propios programas o scripts para que pulsando un botón del mando nuestro ordenador actúe a nuestro antojo (para eso existen).

El meollo

El primer paso es configurar los módulos de infrarrojos para nuestro kernel linux en Debian.

Para configurar los módulos fácilmente necesitamos los paquetes

apt-get install lirc-modules-source modules-assistant build-essentials kernel-package

Ejecutando por ejemplo:

m-a auto-install lirc-modules-source

instalaremos un paquete con los drivers para que nuestro kernel maneje los infrarrojos.

El siguiente paso consistiría en copiar el archivo de configuración apropiado para nuestro receptor en el directorio de la aplicación/demonio que gestionará los dispositivos de infrarrojos:

root@masine:~$
cp -f /usr/share/doc/lirc/remotes/creative/lircd.conf.alsa_usb /etc/lirc/lircd.conf

Y aquí me quedé. No todo tiene un final.

Referencias:

Linux Infrarred Remote Control
Creative supported remote controls

Etiquetas: , , ,