28 diciembre 2006

Optimizando: cat y grep

Armonth cuenta hoy cómo optimizar recursos en bash con unos sencillos ejemplos de cat y grep. Alguno de ellos, por cierto, que no conocía. Muy, pero que muy, recomendable para los que usamos la consola a menudo, sobre todo si hacemos uso frecuente de esos comandos en scripts (de nuevo mi caso).

Gracias Armonth ;)

27 diciembre 2006

Debian Package of the Day

En 2004 dejó de actualizarse el weblog Debian Package a Day's Journal. En esta página, mantenida por Andrew Sweger, se nos presentaba diariamente un paquete de la distribución, con el fin de que los usuarios los conociéramos.

Pues bien, el día 20 de este mes Steve McIntyre nos anunciaba su intención de resucitar el proyecto. Así renace Debian Package of the Day, una página que, de momento, se actualizará un par de veces a la semana dándonos a conocer paquetes que forman parte de la distro de nuestros amores.

Altamente recomendable.

Debian Package of the Day para Ubuntu
Enlace para el feed

25 diciembre 2006

Creando tonos para móviles

Podemos, con herramientas libres, hacer prácticamente de todo. Digo prácticamente porque aún hay algunos desarrolladores (como los de juegos) que parecen no enterarse de que hay más opciones a parte del innombrable. Pero salvo esa excepción y alguna otra (muy contadas, y cada vez menos), podemos, como decía, hacer prácticamente cualquier cosa con Linux y usando software libre.

Como ejemplo, vamos a ver cómo podemos crear tonos para móviles a partir de "emepetreses" y pasarlos a nuestro teléfono por Bluetooth. Soy consciente de que llegarán aquí muchas visitas desde Google de windowseros que quieren hacer eso. Si es tu caso, no desesperes: la principal herramienta que usaremos tiene un port para Windows, y del resto hay programas equivalentes un tu... ¿sistema operativo?

Básicamente vamos a necesitar cuatro cosas:
  • Un móvil con Bluetooth, evidentemente

  • Un adaptador de Bluetooth para el equipo, claro

  • El software necesario para sincronizar el equipo y el teléfono

  • Y la estrella del asunto: Audacity

Del móvil no voy a hablar. ¿Quién, a parte de mí, no tiene hoy en día un móvil con Bluetooth? Pues eso. En cuanto al adaptador tenemos el problema de siempre: que funcione bajo Linux. En mi caso, me fui con el portátil a la tienda para probarlo antes de llevármelo. Tampoco fue ninguna película: el primero que probé funcionó a la perfección, un Conceptronic con doscientos metros de alcance por menos de veinte euros (éste).

Bluetooth

Vamos entrando en materia. Para usarlo en Linux necesitamos dos cosas: tener implementada la pila de protocolos Bluetooth para el kernel, y una interfaz que nos permita hacer las transferencias con comodidad.

Lo primero queda resuelto instalando las bluez-utils (en Debian basta un apt-get install bluez-utils). Para lo segundo tenemos dos joyitas, dependiendo de cual sea nuestro entorno gráfico: kdebluetooth (disponible en los repositorios de Debian) y gnomebluetooth.

Del segundo no puedo hablar porque no lo he probado. El primero es sencillamente increíble. Intuitivo, eficaz y plenamente integrado con KDE. No se puede pedir más.

Creando el tono

Ya sólo queda poder crear el tono que queremos transferir al teléfono, y Audacity es la herramienta perfecta para ello. Hay versiones para Linux, MacOS y Windows.

Audacity es un editor de sonido con literalmente docenas de opciones, podemos aplicar un sinfín de efectos y hay que echarle horas para conocerlo. Sin embargo, para lo que vamos a hacer, nos basta con conocer un par de cosillas.

Lo primero es abrir el emepetrés con el programa, y seleccionar la parte que queremos como tono. Esto no tiene ningún secreto, y se hace como lo haríamos con cualquier otro programa. Es conveniente que la duración total no sea mayor de unos veinte segundos para evitar que el archivo sea muy grande. Podemos escuchar el tema con Audacity, establecer marcas de tiempo y/o hacer zoom al visualizador para poder afinar con el momento de comienzo y de fin del corte.

Audacity

Ahora copipegamos el corte en un archivo nuevo. Sólo queda algún retoque. Seleccionamos los tres o cuatro primeros segundos y nos vamos a Efectos -> Fade in. Esto hará que al comenzar a sonar el teléfono empiece a bajo volumen y vaya subiendo durante esos tres-cuatro segundos. Después seleccionamos los últimos segundos, y le hacemos un Efectos -> Fade out, para obtener el efecto contrario. Guardamos (Archivo -> Exportar como mp3) y listo. Lo último que queda es abrir el framework de Bluetooth y pasarlo al móvil. Hecho :)

23 diciembre 2006

Badvista


La Free Software Foundation ha iniciado una campaña llamada Badvista destinada a "abrir los ojos" de los usuarios de Windows, mostrándoles la realidad del nuevo Windows Vista e instándoles a no instalarlo, mostrando las alternativas basadas en Software Libre.

Como buenas razones: el DRM, el protocolo SMB2 (incompatible con otras implementaciones del protocolo, como SAMBA), los requerimientos de hardware (XGL y OS X soportan muchos más efectos gráficos con la mitad de requerimientos), las (in)compatibilidades (incluyendo al propio Zune de Microsoft), el tema de la activación, el costo, las versiones...

Yo uso Linux desde hace unos cuatro años. Desde hace unos dos observo en foros y blogs cada vez más gente que cambia a Linux, y mucha más gente que quiere hacerlo pero le asusta. No sé, pero creo que la salida de Windows Vista va a beneficiar a Linux más que al propio Windows. Sospecho que este "fenómeno migratorio" va a aumentar muuuuucho en los próximos meses.

11 diciembre 2006

Etch frozen

El Debian Release Team ha anunciado que la próxima versión estable 4.0, Etch, ha sido "congelada" ya. Esto significa que en Etch sólo se harán ya cambios urgentes para reducir aún más el número de errores y liberar Etch pronto.

Directamente fusilado de aquí.

Qué poquito queda ya... :P

08 diciembre 2006

Compiz

A estas alturas ya no es nada nuevo. Al revés, está más visto que el tebeo. Pero me apetecía enseñarlas :D

07 diciembre 2006

Alternar Beryl, Compiz y KWin

Tenía ganas de probar Beryl y Compiz. Ambos. A veces me tiro horas delante de la máquina para configurar algo que sólo uso durante unos minutos, pero me gusta probar todo lo que se pueda probar. Este es uno de esos casos.

La primera impresión: Realmente dignos de probarse. Probarse, porque a la hora de trabajar de verdad, tanto efecto molesta más que otra cosa. Por eso mi primera preocupación ha sido buscar una forma rápida y eficaz de cambiar de uno a otro, y poder volver al manejador clásico de ventanas de KDE, el KWin.

La solución es sencilla. Escribimos tres scripts (por llamarlos de alguna forma, porque ni siquiera merecen ese nombre) para ejecutar cada uno de los gestores de ventanas.

Beryl:

#!/bin/bash
beryl &


Compiz:

#!/bin/bash
compiz --replace decoration wobbly fade minimize cube rotate zoom scale move resize place switcher &


KWin

#!/bin/bash
kwin --replace &


Les damos permisos de ejecución y creamos tres enlaces en el escritorio, con su iconito, en su panel, y con toda la parafernalia que gusteis para estos menesteres. Y listo. Cambiar de uno a otro será tan fácil como hacer click en el icono correspondiente :)

30 noviembre 2006

Games 4 Linux

Me hago eco de esta gran iniciativa de Informática Fácil. En dos palabras, se trata de que las empresas desarrolladoras de juegos reciban mails "a punta pala" de usuarios de Linux, pidiendo soporte para nuestro sistema. Participar no cuesta nada: mandar un mail a las empresas (los mails están en la propia página) pidiendo soporte para Linux en sus juegos; incluso dan un texto sugerido para el mail, así que no teneis ni que escribirlo.

Hola, me gustaría ser usuario de sus productos, pero no encuentro soporte para mi sistema operativo GNU/Linux. Estaría muy agradecido si pudieran desarrollar soporte para nuestra plataforma ya que el hecho de usar Windows me supone desembolsar mucho dinero en su licencia, ademas de licencia para antivirus, firewall etc etc… Me gustaría destinar ese dinero únicamente a poder comprar su software, ya que en Linux no necesito nada más. Así mismo, recomendare a mis amigos (usuarios de GNU/Linux también) insistir en pedirles soporte a ustedes.
Gracias de antemano por todo.

No hay excusa para no participar (no, la de "yo no uso el ordenador para jugar" tampoco vale). A ver si se dan cuenta de una vez de que Windows no es el único sistema operativo.

ACTUALIZACIÓN: Proein se ha dignado contestar:
Nosotros solo somos una distribuidora de juegos, no los creadores de los mismos, pero de todos modos pasaremos su petición a los desarrolladores de los juegos que distribuimos.

ACTUALIZACION 2: Atari también:
Actualmente los juegos de Atari, no trabajan bajo GNU/Linux.

No obstante, agradecemos su propuesta, se lo comunicaremos al departamento de desarrollo. Muchas gracias.

Reciba un cordial saludo,

Dpto. Técnico

17 noviembre 2006

La familia Debian al completo

Al hilo de la entrada anterior, aquí va un "álbum de familia" de Debian, incluyendo a su más reciente miembro.

1.1 Buzz
1.2 Rex
1.3 Bo
2.0 Hamm
2.1 Slink
2.2 Potato
3.0 Woody
3.1 Sarge
4.0 Etch
4.1 Lenny
Sid

Debian 4.1 Lenny

LennyPues ya tenemos nombre para la próxima release de Debian: Lenny.

Como sabreis, todas las versiones de Debian tienen nombres de personajes de la película Toy Story. Para esta versión se ha elegido el nombre de Lenny, los prismáticos.

También sabreis que Etch pasará a estable a finales de año, por lo que Sid (nombre perpetuo para la versión inestable) pasará a testing entonces, con lo que el panorama quedará así:
  • Stable: Etch
  • Testing: Lenny
  • Unstable: Sid
Pues nada, que ya va quedando poquito :D

13 noviembre 2006

Java es por fin GPL

Pues sí, parecía que no iba a llegar nunca. Después de tanto tiempo de anuncios, rumores y retrasos, Sun Microsystems acaba de liberar Java SE, Java EE y Java ME (anuncio) bajo licencia GPL (la única excepción es que Java SE podrá ser usado en software que no sea GPL).

Los motivos: preservar la compatibilidad de Java y abrir nuevos mercados (léase GNU/Linux). Otro punto para el pingüino :)

12 noviembre 2006

LOST

No, no estoy hablando de ninguna serie yanqui de TV, sino de Linux One Stanza Tips (Trucos Linux En Un Párrafo), que son, como dice la propia web del proyecto,
una serie de trucos y consejos cortos relacionados con GNU/Linux, los cuales se pueden usar como firmas en tus correos electrónicos, saludos de Mensaje del Día, como fragmentos aleatorios o en cualquier lugar que puedas imaginar...

El proyecto se divide en dos partes. Una, los trucos propiamente dichos, y otra, una serie de scripts/programas para incorporar los trucos con clientes de correo existentes o páginas web y para manipularlos para otros usos.

Vamos, que los puedes añadir a los fortunes, poner uno al azar en el MOTD, como firma, etc.

Podeis ver un LOST al azar pinchando aquí (cada vez que pincheis vereis uno distinto).

11 noviembre 2006

Poniendo color a la shell

No sé si habré dicho alguna vez que la potencia de Linux radica en su shell, aunque creo que sí. Buena parte del tiempo que paso delante del teclado estoy ante una shell, y tanto "blanco sobre negro" se hace aburrido. Ya expliqué cómo poner una imagen en el login, pero podemos poner un poco más de colorido. Para ello vamos a tirar, sobre todo, del archivo .bashrc.

.bashrc es el archivo que (al igual que .bash_profile) nos permite ejecutar comandos automáticamente cada vez que se llame a bash (entre ellas durante el login). Lo que incluye definir algunas variables y alias de comandos. Y es de esto de lo que vamos a hacer uso para poner un poco de color a la shell. Recordad que para que cualquier cambio en .bashrc tenga efecto tendreis que cerrar la sesión de bash actual y abrir una nueva.


Coloreando los ls

Un ls "a palo seco" da muy poca info. Ni siquiera podemos saber qué tipo de archivo es cada uno de los que nos lista, a no ser que usemos ls -l. Pero esto se puede solucionar, a la par que le damos "alegría" a la consola, con un poco de color.

Editamos el .bashrc y añadimos un alias:

alias ls='ls --color=auto'

Ahora la cosa cambia: directorios en azul oscuro, enlaces en azul claro, comprimidos en rojo, ejecutables en verde, imágenes y vídeos en morado... un festival de colorines, vamos :)

ls en colores


Destacando los resultados de grep

Muchos usareis grep casi a diario. Es uno de los comandos más útiles y potentes de Linux. También aquí podemos poner un poco de color.

Editamos de nuevo .bashrc y añadimos la línea

export GREP_OPTIONS='--color=auto'

Si ahora reiniciais bash y haceis un grep cualquiera vereis que los resultados salen en rojo. No está mal, pero podría estar mejor. A mí me encanta el azul ;)

Podeis personalizar el color para los resultados definiendo la variable de entorno GREP_COLOR, dándole los atributos que prefirais. Yo la tengo como

export GREP_COLOR='1;34'

lo que me da un color azul brillante. Aquí teneis el listado completo de los colores y efectos disponibles.

grep en color


Vim

Vim es el mejor editor de consola que existe (aquí es donde los usuarios de emacs se me lanzan al cuello sin piedad). Y, cómo no, también podemos darle un poco de color, activando su reconocimiento de sintaxis, característica más que útil para los que, como yo, lo usais para programar.

Para ello basta con editar el archivo /etc/vim/vimrc y descomentar (basta borrar el carácter ") la línea que dice

sintax on

El resultado es espectacular:

Reconocimiento de sintaxis en Vim

Por supuesto hay muchos más trucos, pero estos son los más útiles y con los resultados más conspicuos. Espero que los disfruteis :)

05 noviembre 2006

Montando un servidor de música streaming

Lo confieso: soy un friki. Si no lo fuera, no tendría ocho ordenadores en casa.

Esto a veces me produce pequeños quebraderos de cabeza (aunque sarna con gusto no pica), como la música. No tengo mucha música en el disco duro, unos 700 Mb (un ls -l /home/akira/musica | wc -l responde 152, lo que significa 151 canciones) pero a mí me gusta oir música cuando estoy ante el teclado, y no es cuestión de tener las 151 canciones en ocho discos duros. Ni es necesario: para eso está la reproducción streaming. Un servidor con toda la música, y siete clientes donde escucharla. Y siempre hay más de una forma de hacer las cosas con Linux.

Apache::MP3

Apache::MP3 es un módulo de perl que transforma nuestro servidor Apache en un servidor de música streaming. Sólo necesitamos tres cosas: el servidor web, el perl-mod para Apache, y el módulo.

Ponerlo en marcha es sencillo. Sólo hay que configurar el servidor para que use el módulo como handler para manejar el directorio donde pongamos la música

<Location /musica>
SetHandler perl-script
PerlHandler Apache::MP3
</Location>


y añadir los tipos MIME necesarios para que reconozca los formatos.

AddType audio/mpeg mp3 MP3
AddType audio/playlist m3u M3U
AddType audio/x-scpls pls PLS
AddType application/x-ogg ogg OGG
AddType audio/wav wav WAV


Aquí teneis un ejemplo en vivo del resultado.

GNUMP3d

GNUMP3d es un servidor de streaming. Aún más fácil. Tan sólo hay que instalarlo (apt-get install gnump3d) y editar el archivo de configuración (/etc/gnump3d/gnump3d.conf) para indicarle como raíz el directorio donde tenemos la música. Si queremos podemos cambiar el puerto (por defecto lleva el 8888) y reiniciamos el servidor (invoke-rc.d gnump3d restart, o a la manera tradicional, /etc/init.d/gnump3d restart). Listo. La ventaja adicional es que también sirve vídeo, por lo que, si lo vais a usar en vuestra LAN, es también una solución ideal para un servidor de vídeos.

Entre las opciones incluye la posibilidad de ordenar las canciones siguiendo varios criterios (nombre del archivo, de la canción, por artista, por álbum...). Además tiene un set bastante extenso de themes para poder personalizar el aspecto. Una gran solución, sí señor.

04 noviembre 2006

Debian Etch y la LSB 3.1

¿Cuántas distribuciones de Linux conocéis? Yo he hecho la prueba esta mañana. Durante la ducha (diez minutos escasos) he sido capaz de recordar unas veinte. Evidentemente, hay muchas más.

Imaginad que cada una de ellas hiciera las cosas como le viniera en gana. Exacto: el caos. Para evitar eso, varias distribuciones crearon la Linux Standard Base (LSB), que promueve un conjunto de estándares para Linux, aumentando la compatibilidad entre las distintas distribuciones.

Pues bien, hoy me entero, gracias a Bitelia, que Debian Etch cumplirá con la LSB 3.1 (ojo, Debian ya cumplía la LSB, en concreto el estándar 1.3, pero de esta forma se "pone al día").

Algunos (los más enterados) pensaréis "Ein? ¿Debian cumple la LSB? Si LSB designa como formato estándar de paquete el RPM...".

Pues sí. A pesar de que el empaquetado RPM fuera desarrollado después que el DEB, y su calidad sea menor, la LSB designa el RPM como empaquetado estándar. Linux tampoco está exento de politiqueos e influencias. ¿Cómo obviamos eso? Pues para eso está el paquete alien. A todos los efectos, RPM y DEB son formatos "interconvertibles" (¿existe ese palabro?), así que no hay problema :)

Pues eso, que ya somos "más estándares" xD.

01 noviembre 2006

Una caja negra en la shell

Nunca me cansaré de decir que la potencia de Linux radica en su shell. De hecho, si como usuarios podemos "olvidarnos" (al menos en parte) de ella, como administradores de nuestro propio sistema debemos conocerla porque, tarde o temprano, tendremos que sumergirnos en ella. A veces por narices.

Pero podemos equivocarnos, y cometer un error como root puede hacer que nos carguemos partes fundamentales del sistema (recuerda: think before you type). En un caso así, es importantísimo saber qué hemos hecho mal (cosa que a veces no está tan claro) para saber qué debemos arreglar y, por tanto, cómo hacerlo.

También es muy útil guardar un registro de todo lo que hemos hecho cuando es posible que tengamos que hacer la misma tarea en el futuro, pero no estamos muy seguros de recordar cómo se hace para cuando llegue el momento (estamos siguiendo un tutorial, alguien nos está echando una mano con los comandos, etc). De esta manera tendremos una chuleta a mano para el futuro :)

Hay varias formas de registrar nuestra propia actividad en la consola. No me refiero al .bash_history, que guarda un registro de los comandos introducidos, sino a ver toda la sesión, con los comandos y sus resultados, tal y como nos ha ido apareciendo en pantalla.

script. El comando script es una de ellas. Simple y eficaz. Simplemente tecleamos script y la sesión comenzará a ser guardada en el archivo typescript. Cuando acabemos (Ctrl+D) podemos cómodamente examinar el archivo con un cat, more, less, vi o lo que nos dé la real gana.

tee. tee es un pequeño ejecutable que lee de la entrada estándar y puede escribir en la salida estándar o en un archivo. Simplemente iniciamos una consola con bash -i 2>&1 | tee <archivo de destino>. Una vez pulsemos Ctrl+D (o exit, que viene a ser lo mismo) tendremos toda la sesión registrada en el archivo que le hayamos indicado.

screen. Esto ya son palabras mayores. Quizá algún día escriba una entrada sobre screen. Esta utilidad es capaz de manejar distintas consolas, guardarlas, recuperarlas (incluso de forma remota), en fin, una fiesta en cuanto al manejo de terminales. No viene incluida en el sistema, por lo que hay que instalarla (apt-get install screen). En cuanto al tema que nos ocupa, basta con pulsar Ctrl+A H para que toda la sesión sea exportada al archivo hardcopy.0. Listo para examinarlo.

Como veis, opciones no faltan, a cuál más sencilla. De este modo, la sesión de consola queda registrada y guardada para futuras consultas. Rápido y eficaz. Como el propio Linux ;)

28 octubre 2006

Comandos DCOP

Dándole vueltas al asunto de la integración de Perlbox-voice con KDE, a cuenta del ilocalizable plugin que anuncia la web del proyecto, me he dado cuenta de que ni siquiera hace falta: sólo hay que tirar de los comandos DCOP.

En el envío sobre reconocimiento de voz decía que el plugin de Perlbox para KDE permitía (copipego de la web del proyecto) switch virtual desktops, invoke the desktop menu, switch wallpaper or lock the screen. Pues bien, el Desktop Communication Protocol nos permite hacer todo esto mediante comandos, que son interpretados por el ejecutable dcop. Comandos que se pueden asociar en Perlbox a una orden concreta. Aquí va una pequeña lista:
  • Cambiar de un escritorio a otro: dcop kwin KWinInterface setCurrentDesktop <número de escritorio>

  • Saltar al siguiente escritorio: dcop kwin KWinInterface nextDesktop

  • Saltar al escritorio anterior: dcop kwin KWinInterface previousDesktop

  • Abrir el Menú K: dcop kicker kicker popupKMenu 100

  • Lanzar el cuadro de diálogo "Ejecutar comando": dcop kdesktop KDesktopIface popupExecuteCommand

  • Alinear los iconos: dcop kdesktop KDesktopIface lineupIcons

  • Refrescar: dcop kdesktop KDesktopIface refresh

  • Cambiar el fondo de escritorio: dcop kdesktop KBackgroundIface changeWallpaper

  • Bloquear la sesión: dcop kdesktop KScreensaverIface lock

  • Cerrar la sesión: dcop kdesktop KDesktopIface logout

Entre la documentación de desarrollo de KDE podéis encontrar un magnífico tutorial (en inglés) sobre cómo crear y usar una interfaz DCOP para una aplicación KDE sencilla.

26 octubre 2006

Voces en Linux (y II): Reconocimiento

Lo prometido es deuda, y yo prometí hablar sobre el reconocimiento de voz en Linux, así que aquí estoy.

Si en la síntesis de voz Festival es el rey indiscutible, en el reconocimiento tenemos una pareja de ases: Sphinx2 y Perlbox-voice.

Sphinx2 es el conjunto de librerías (motor) de reconocimiento de voz. Es capaz de reconocer voces con independencia del locutor (no necesita entrenamiento) y una de sus características más importantes es el reconocimiento continuo (no por palabras). En Debian testing podeis instalarlo con sólo hacer

apt-get install sphinx2-bin

Perlbox-voice es el wrapper perfecto para Sphinx2. Está escrito en Perl/Tk y no sólo hace uso de Sphix2 sino también, como no, de Festival. Es decir, también soporta síntesis. La única pega es que, de momento, sólo soporta el inglés.

En resumen, Perlbox-voice queda a la espera de las órdenes acústicas que tengais configuradas para responder con el comando (o la frase) correspondiente. Es decir, podemos decirle "web" para que él ejecute Opera, o "mail" para que ejecute KMail... En fin, ya os podeis hacer una idea. Yo ya casi ni uso el ratón... mi herramienta principal a la hora de manejar soft es el micro :)

Por ejemplo, un comienzo de sesión típico en mi Debian viene a ser algo así:

→YO: Hello (hay que ser educado)
→Perlbox: Hola akira (sí, con say como comando responde hablando y, esta vez sí, en español, ya que para eso usa Festival).
→Y: Music
→Perlbox ejecuta amarok --play-pause, y comienza la música.
→Y: Next (no me gusta esta canción)
→Perlbox ejecuta amarok -f, y pasa a la siguente canción :)
→Y: Mail
→Perlbox ejecuta kmail
→Y: Feed
→Perlbox ejecuta akregator
→Y: Music
→La música se pausa
→Y: Odiss
→Perlbox ejecuta opera http://www.odiss.org/, a ver qué se cuece en el foro
→Y: Donkey
→La mulita a rular...

Y en fin, ya os podeis hacer una idea bastante aproximada de lo que se puede hacer con un poco de imaginación :)

La instalación es bastante sencilla, ya que en la página de descarga podemos obtener el paquete DEB (noarch), o incluso el RPM o un instalador genérico. Lo único a tener en cuenta es que, para funcionar, necesita del paquete perl-tk:

apt-get install perl-tk

La configuración es sumamente sencilla. Prácticamente meterle los comandos y a rular. En la web dice que hay disponible un plugin para KDE pero yo no lo he encontrado por ningún sitio :( Y mirad que estaría interesante, porque, según dice la web, you can switch virtual desktops, invoke the desktop menu, switch wallpaper or lock the screen, osea, ya la locura total... En fin, si alguien da con él, que avise ;)

ACTUALIZADO: Estoy tonto o estoy tonto. Resulta que el plugin de KDE ya viene instalado y listo para usar. Se puede cargar desde la configuración :$

24 octubre 2006

Voces en Linux (I): Sintetizando

Empiezo con este post una serie de dos envíos sobre la síntesis y el reconocimiento de voz en Linux. Qué software existe y qué utilidades darle. Espero que lo encontreis interesante y/o entretenido :)

Este primer envío trata sobre la síntesis de voz. En esto hay un rey indiscutible en Linux: Festival. Prácticamente cualquier utilidad que queramos usar en Linux para síntesis de voz hace uso de este motor: Kmouth, KTTS (el administrador de texto a voz de KDE), Konqueror, Kate, Kismet... Todas estas aplicaciones usan Festival como motor para la síntesis de voz.

Instalarlo en nuestro sistema Debian es tan sencillo como hacer

apt-get install festival festvox-ellpc11k

Con esto instalamos el motor y la voz en castellano (festvox-ellpc11k). Este último paquete está en non-free, por lo que hay que tener estos repositorios en nuestro sources.list para poder instalarlo. Lo primero que debemos hacer tras instalarlo es editar el archivo /usr/share/festival/voices.scm e ir a la parte donde dice defvar default-voice-priority-list, y poner el_diphone el primero de la lista. Así la voz por defecto será el castellano. Y ya lo tenemos listo para usar.

Pero ¿para qué lo usamos? Como he dicho antes, hay un montón de aplicaciones que hacen uso de este motor, así que entretenimiento hay para rato. Voy a hacer un repaso rápido de algunas de ellas, para que vosotros decubráis el resto.

Kismet. Esto va de coña para las sesiones de wardriving. Este sniffer wireless podrá alertarnos de viva voz de las redes que vaya localizando, incluyendo información sobre su encriptación, SSID, canal, etc.

Para ello basta con editar el archivo de configuración de Kismet (/etc/kismet.conf o /usr/local/etc/kismet.conf, dependiendo de si lo habéis instalado con apt o desde código fuente) y buscamos donde dice # Does the server use speech?. Cambiamos speech=false por speech=true, y speech_type=nato por speech_type=speech. Por último sólo queda decirle qué queremos que nos diga cuando encuentre una red encriptada (speech_encrypted) y una red abierta (speech_unencrypted). Recordad que sustituirá %b por el BSSID, %s por el SSID y %c por el canal. Ya podemos perder la pantalla de vista mientras conducimos tranquilamente, que Kismet se ocupará de informarnos de lo que va encontrando ;)

KTTS. KTTS (kttsmgr) es el administrador de KDE de texto a voz. Su configuración es muy sencilla e intuitiva. Con él podemos hacer que KDE nos avise por voz cuando recibimos un correo nuevo, cuando se hayan descargado los feeds, cuando se conecte/desconecte un adaptador de Bluetooth al equipo, cuando K3b haya terminado de grabar un disco y mil cosas más.

Konqueror. Usando el motor de Festival, Konqueror será capaz de leernos las webs (completas o la parte seleccionada). En Debian Sarge es necesario instalar el paquete konq-speaker. Con Etch no es necesario.

Kate. Al igual que Konqueror, Kate podrá leer los archivos de texto. Es necesario el paquete kate-plugins.

KMouth. Esta pequeña utilidad es simplemente un front-end para Festival: simplemente leerá el texto que le escribamos.

En fin, esto es todo lo que doy de sí, aunque el tema da aún para mucho. Os invito a que investiguéis por vuestra cuenta, ya que hay muuuucho más. Como siempre, los comentarios están abiertos para correcciones, puntualizaciones y para comentar lo que os dé la gana :)

Mañana (o quizá pasado mañana, que ando con mucho trabajo) hablaré sobre el reconocimiento de voz en Linux. Esta vez seremos nosotros los que hablemos, y nuestro sistema el que escuche ;)

22 octubre 2006

Bug en kdesu

Hace unos días Debian Etch ofreció una actualización con el recién salido del horno KDE 3.5.5. Desde entonces, kdesu devuelve inexorablemente un "Contraseña incorrecta, inténtelo de nuevo" cuando se introduce la password de root.

Podeis ver la descripción completa del bug en Bug#393041: kdesu no longer accepts correct password.

Pues nada, a esperar la corrección. Recordad mientras tanto que existen alternativas, como gksu.

ACTUALIZADO: El bug ya está corregido. Ya podéis seguir haciendo kdesu nmapfe ;)

19 octubre 2006

Disponible la beta de Flash 9 para Linux

¡Ya está aquí!¡Ya llegó! Por fin tenemos una beta de Flash Player 9 para Linux. Y qué ganas. Muchas de las webs ya usaban la versión 8 y no se podían visualizar con Linux, ya que la última versión para nuestro sistema era la 7. Pero eso se terminó.

Podemos descargar el plugin para el navegador de aquí. Tan fácil como descomprimir y copiar el archivo libflashplayer.so en el directorio de plugins de tu navegador.

Ya podemos ponernos moraos a ver PornoTube :P

15 octubre 2006

V838 Monocerotis

V838 Mon es una estrella situada a unos 32.000 años-luz del Sistema Solar, en la constelación del Unicornio (Monoceros). En el año 2002 se observó un estallido en la estrella que ha dado origen a una nebulosa planetaria, recientemente fotografiada por el HST. Dicha foto podéis verla pinchando aquí.

¿Y a qué viene este pedazo de off topic? Pues a que dicha foto confirma nuestras sospechas. Y si no mirad...


Firefox y V838 Monocerotis


IE jamás podría soñar con llegar tan lejos...

14 octubre 2006

Arreglando los errores GPG en apt-get

Hace un tiempo que el gestor de paquetes apt de Debian incluye un sistema de verificación de firmas, para que los muy paranoicos podamos estar tranquilos con el software y las actualizaciones que instalamos mediante apt-get.

Sin embargo, la firma de los repositorios Marillat no está disponible por defecto, y al hacer un apt-get update se nos muestra el error

W: GPG error: http://debian-multimedia.org etch Release: Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY 07DC563D1F41B907
W: Tal vez quiera ejecutar 'apt-get update' para corregir estos problemas


La solución es importar nosotros mismos la clave PGP de Christian Marillat desde el servidor de claves:

akira@takashi:~$ gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 07DC563D1F41B907

gpg: solicitando clave 1F41B907 de hkp servidor wwwkeys.eu.pgp.net
gpg: clave 1F41B907: clave pública "Christian Marillat " importada.
gpg: Cantidad total procesada: 1
gpg: importadas: 1


akira@takashi:~$ gpg --armor --export 07DC563D1F41B907 | sudo apt-key add -

OK


Otros repositorios no tienen la clave pública en un servidor de claves, pero igualmente está disponible. Por ejemplo los repositorios para tor:

deb http://www.northernsecurity.net/debian ./

En este caso echamos mano directamente de apt-key. Lo primero es encontrar su clave pública, que está publicada en su propia web, aquí. La guardamos en un archivo en local (recordad que la extensión debe ser .asc), y hacemos

akira@takashi:~$ sudo apt-key add archivo_de_clave.asc

Así los errores de este tipo desaparecen, y, lo más importante, los paquetes que descarguemos de estos repositorios podrán ser verificados mediante su clave PGP.

BSOD Top 10


Miguel Carrasco ha reunido, para regocijo de linuxeros, el Top 10 de las Blue Screen of Death, más un bonus.

Algunas son ya todo unos clásicos, como la que le salió a Bill Gates durante la presentación del Win98, y otras bastante más recientes, como la llegada de las BSOD a MacIntosh gracias a la introducción de los chips x86 en Mac. Algunas incluso acojonan: imaginad estar esperando tomar un vuelo en un aeropuerto y ver la BSOD en una de las pantallas. Da que pensar...

13 octubre 2006

aptitude moo

Esta entrada en La secta del ñu me ha recordado un huevo de pascua de Debian, no tan conocido como el celebérrimo apt-get moo (have you mooed today? xD)

akira@takashi:~$ aptitude moo
No hay ningún huevo de pascua en este programa.
akira@takashi:~$ aptitude -v moo
Realmente no hay ningún huevo de pascua en este programa.
akira@takashi:~$ aptitude -vv moo
¿No le he dicho ya que no hay ningún huevo de pascua en este programa?
akira@takashi:~$ aptitude -vvv moo
¡Deje de hacer eso!
akira@takashi:~$ aptitude -vvvv moo
Vale, vale, si le doy un huevo de pascua, ¿se irá?
akira@takashi:~$ aptitude -vvvvv moo
De acuerdo, usted gana.

/----\
-------/ \
/ \
/ |
-----------------/ --------\
----------------------------------------------

akira@takashi:~$ aptitude -vvvvvv moo
¿Qué es? Un elefante siendo devorado por una serpiente, evidentemente.


Me encanta :)

10 octubre 2006

IceWeasel


Así es como se han solucionado las desavenencias entre Debian y la Mozilla Fundation. Para el que no viva en este mundo, os diré que debido al Contrato Social de Debian, la distro instalaba el paquete Firefox con otro logo, ya que el suyo (conocido y usado en buena parte de la galaxia) tiene copyright.

Como usar el nombre Firefox y cambiarle el logo no está permitido por la Mozilla Fundation, y sin embargo renombrarlo sí lo está, la solución es obvia: nuevo nombre y otro logo. Y muerto el perro se acabó la rabia.

Además los cambios incluirán algunas mejoras de seguridad. Tanto mejor.

Fuente: esDebian

09 octubre 2006

La mano que mece la cuna

[...] un ejecutivo de un fondo de capital riesgo llamado BayStar, que asegura bajo juramento que invirtió $50 millones después de que Microsoft le garantizase su inversión en SCO. El directivo asegura que fue contactado en 2003 por un ejecutivo de Microsoft, Richard Emerson, que le propuso la posibilidad de invertir en SCO. La intención era apoyar a SCO y a su demanda contra Linux, pero evitando que Microsoft se viese asociada con un ataque hacia IBM o Linux. Tras las correspondientes negociaciones, que implicaron a otros dos directivos de Microsoft, se llegó al acuerdo de que Microsoft garantizaría "de alguna manera" la inversión de BayStar en SCO, aunque Microsoft rechazó poner nada por escrito. Tras la inversión, las preocupaciones del ejecutivo de la compañía de capital riesgo crecieron tras comprobar que la práctica totalidad de la inversión se dedicaba a pagar los honorarios del bufete de David Boies, encargado de llevar la demanda. Al comprobar el progresivo deterioro del precio por acción de SCO y la imposibilidad de contactar tanto con SCO como con Microsoft, la empresa acabó retirando con pérdidas sus posiciones en SCO. Tras la demanda, Microsoft llegó además a un "sospechoso" acuerdo de $16 millones para licenciar tecnología de SCO, algo que se especula correspondió también a un supuesto "pago de favores" que la compañía de Redmond, por supuesto, niega categóricamente.

El tema ya apesta :@

Fuente: Enrique Dans

21 septiembre 2006

apt-get remove fronteras

Pintada en un muro de Tarifa:

apt-get remove fronteras

Visto en Psicofonías.

Extraer el audio de un vídeo

Hace días que estoy alucinando con el famoso vídeo de Funtwo versionando el Canon de Pachelbel con su guitarra eléctrica. Me gusta tanto que lo grabé en un CD para oirlo también en el coche.

Para ello tuve que extraer el audio, evidentemente. Esto es algo que se puede hacer fácilmente con MPlayer. Basta con hacer

mplayer -vo null -ao <driver de audio> -dumpaudio -dumpfile <archivo de destino> <vídeo de origen>

El archivo resultante estará en formato mp3. Normalmente usareis alsa como driver de audio; de todos modos, se puede ver una lista de los drivers disponibles haciendo

mplayer -ao help

También es posible hacerlo con ffmpeg:

ffmpeg -i <archivo de vídeo> <archivo de audio>

20 septiembre 2006

El Proyecto Debian pagará a los desarrolladores

Aunque de momento se trata sólo de un "experimento". La iniciativa, llamada Dunc (Development Under Numismatic Control, algo así como "Desarrollo bajo control monetario") está siendo promovida por el DPL (para el que no esté puesto en el tema, el Debian Project Leader), Anthony Towns.

La finalidad es que los desarrolladores (que en Debian son voluntarios, recordemos que no hay ninguna empresa detrás) se impliquen más y dediquen más tiempo al Proyecto, de forma que se consigan acortar los plazos y las actualizaciones se sucedan con más rapidez.

Yo lo veo bien. El paso de Debian Etch a stable está previsto para diciembre. Esperemos que con medidas como ésta no se retrase, como pasó con Sarge.

Fuente: iTWire.

17 septiembre 2006

El futuro del software libre

<McMan>El software libre no tiene futuro, ¿tú te crees que alguien se fiaría de una puta que no cobra?

Visto en El Infame.

Entornos gráficos de nueva generación

No soy muy amigo de poner vídeos en el blog, entre otras cosas porque yo mismo sigo usando una conexión de "banda estrecha" mediante modem RTB, y pienso en los que están en mi misma situación. A éstos les pido perdón, pero esta vez es absolutamente necesario. Y no va a ser uno: son tres.

Tres vídeos en los que podeis ver en acción los escritorios de última generación de los sistemas más usados: Windows Vista Aero, Linux XGL/Compiz y MacOS X Aqua.

Disfrutadlos y comparad.

Linux XGL/Compiz



MacOS X Aqua



Windows Vista Aero



Visto en Ceklog.

13 septiembre 2006

Mensajes de recordatorio en las X

Después de comer me pongo delante del equipo un rato (y, muchas veces, durante xD). Como entro a currar a las cuatro y trabajo en el centro, a las tres y media tengo que salir cortando de casa. El caso es que muchas veces "se me iba la olla" delante del ordenador y me encontraba apagando y recogiendo a toda prisa para irme al trabajo.

¿Solución? Una sencilla línea en el crontab. Crontab es el archivo donde le especificamos a crond (el daemon de tareas programadas de UNIX) las tareas que queremos que ejecute, y cuándo las debe ejecutar. La sintaxis para editarlo es

contrab -e

La línea en cuestión es la siguiente:

25 15 * * 1-5 DISPLAY=:0 /usr/X11R6/bin/xmessage Recogiendo, o llegarás tarde

Ni más ni menos :). Los dos primeros números (25 15) significan (seguro que os lo estáis imaginando) que la tarea debe ejecutarse a las 15:25. Los dos asteriscos que vienen a continuación significan todos los días del mes, todos los meses del año. El 1-5 significa, por supuesto, de lunes a viernes.

Hasta ahí la parte que atañe al crond; lo que viene a continuación es el comando propiamente dicho. Con DISPLAY=:0 estamos estableciendo un valor para la variable $DISPLAY. Concretamente estamos enviando la salida del comando al servidor X (el entorno gráfico). Después viene, simplemente, el mensaje que se mostrará usando el ejecutable /usr/X11R6/bin/xmessage, que precisamente sirve para eso, para mostrar un mensaje. El resultado es éste:

xmessage

La idea no es mía. La saqué de aquí.

12 septiembre 2006

007

chmod 007

Geniales Manz y Tankian.

11 septiembre 2006

Dar soporte para el euro a la shell

En KDE es relativamente fácil (no, quería decir rematadamente fácil) dar soporte para el euro: basta instalar las locales (kde-i18n-es) y elegir el mapa de teclado adecuado. Sin embargo, para que en Debian Sarge la shell soporte los signos €, ñ, etc. hay que dar algunos pasos.

El primero de ellos es instalar el paquete user-euro-es. Nada más sencillo:

apt-get install user-euro-es

Debconf informa entonces de lo más básico: nos habla del script eurocastellanizar (que muchas veces no funciona, bien por no tener la fuente de consola adecuada, bien por no tener configuradas las locales en /etc/locale.gen) y del euro-howto, localizado en nuestro sistema en /usr/share/doc/user-euro-es/euro-howto.txt.

Los pasos a seguir son bastante sencillos, siempre y cuando se conozcan. Con ellos, además del soporte para el euro y los signos especiales del castellano, conseguiremos darle una utilidad a la fastidiosa tecla Windows (la que lleva el simbolito del innombrable).

Después de instalar el paquete user-euro-es editamos el script /etc/init.d/keymap.sh y, según el manual, debemos buscar la línea que pone

loadkeys ${CONFDIR}/${CONFFILEROOT}.${EXT}.gz.

El manual es clarito, pero algo antiguo: está escrito para... Debian Potato!!! Así que sencillamente no existe esa línea. Bien, lo que hay que buscar es un condicional:

if [ $CONSOLE_TYPE = "serial" ]

¿Ya? Vale. Como veis, si la condición es verdadera, se ejecuta

loadkeys -q ${CONFFILE} 2>&1 > /dev/null

a lo que nosotros añadimos:

loadkeys euro.inc
loadkeys windowkeys.inc


El siguiente paso es generar las locales. Para ello hay que editar el /etc/locale.gen, y descomentar o añadir la línea es_ES@euro ISO-8859-15, que es la fuente que necesitamos. Ya sólo queda generarlos con un

/usr/sbin/locale-gen

Ya queda poco, sólo un par de cosas más. Primero editamos /etc/environment para añadir LANG=es_ES@euro. Hacemos lo propio con /etc/profile, pero aquí ponemos

if [ -f /etc/language-euro-es ]; then source /etc/language-euro-es; fi

Y listo. Ya sólo nos queda hacer un

invoke-rc.d keymap.sh restart

o, si te gusta más del modo estándar:

/etc/init.d/keymap.sh restart

Ahora sí. Y como extra (ya lo adelanté antes) conseguimos darle una utilidad a las teclas Windows y Menú contextual gracias a que añadimos la línea loadkeys windowkeys.inc en el script keymap.sh: con la primera podremos movernos directamente de una tty a la siguiente, mientras que con la segunda podremos saltar de una tty a la que hayamos estado anteriormente (muy útil para alternar dos consolas).

Como dije al principio, es un proceso bastante sencillo siempre y cuando se conozcan los pasos a seguir. Por eso lo dejo aquí para el que lo necesite (incluyéndome a mí en el futuro, aka chuleta ;)

10 septiembre 2006

Ampliando la swap

Esta es una operación que normalmante no hará falta hacer, pero puede darse el caso de, por ejemplo, tener 512 Mb de RAM en el equipo y ampliarla a 1 Gb (una operación bastante normal). Direis que con tanta RAM ya no hace falta más swap y, efectivamente, un sistema Linux actual prácticamente no va a usar la swap si dispone de 1 Gb de RAM. Entonces ¿por qué hacerlo?

Seguro que habreis leído más de una vez que la swap debe ser el doble que la RAM en equipos con poca memoria, y la misma cantidad que ésta en equipos más potentes. Cierto que casi no la vamos a usar, pero hay que tener en cuenta que, para que el equipo entre en hibernación, debe volcar todo el contenido de la RAM en la swap, para así poder recuperarlo al salir de la hibernación. Si tenemos menos swap que RAM no será posible hibernar la máquina.

Contrariamente a lo que pueda parecer, aumentar la swap es bastante sencillo: no será necesario tocar las particiones, ya que vamos a habilitar un archivo vacío para que actúe de espacio de intercambio.

Siguiendo con el ejemplo de antes, vamos a aumentar la swap en 512 Mb. Para ello creamos un archivo vacío de 512 Mb bajo /var (orden ante todo), al que podemos llamar, en un arranque de originalidad, /var/swap.

dd if=/dev/zero of=/var/swap bs=1024 count=512

Hecho. Ahora sólo tenemos que habilitar ese archivo para que sea usado como swap, y activarlo.

mkswap /var/swap
swapon /var/swap


A partir de estos momentos ya contamos con esos 512 Mb de swap extra. Podemos verlo haciendo simplemente

free -otm

Sin embargo, al reiniciar perderemos esta swap. Para que el cambio sea permanente, editamos el archivo /etc/fstab y le añadimos una entrada como ésta:

/var/swap none swap sw 0 0

Listo. Ahora contamos con esos 512 Mb de swap de forma permanente. Y no ha hecho falta tocar la tabla de particiones para nada :)

MundoLinux: ay ay ay

Me he encontrado en Linuzeros.org algo que me ha hecho mucha gracia: un "gazapo" (eso siendo amables) en la portada de la revista MundoLinux de este mes.

La portada en cuestión la podeis ver pinchando aquí. ¿Que no veis nada raro? Fijaos qué barra tan curiosa muestra la imagen del monitor...

Ains.

09 septiembre 2006

Recopilación de vídeos de hacking

Los chicos de IronGeek han hecho una magnífica recopilación de vídeos de hacking en la que se pueden encontar perlas como éstas:

128 Bit Wep Cracking With Injection!
Airplay replay attack - no wireless client required
BackTrack LiveCD to HD Installation Instruction Video
Bluesnarfer attack tool demonstration
Bluesnarfing a Nokia 6310i hand set
Complete Hacking Video using Metasploit - Meterpreter
Cracking a 128 bit WEP key (Auditor)
Cracking a 128 Bit Wep key + entering the cridentials
Cracking WPA Networks (Auditor)
DoS attack against Windows FTP Server - DoS
Exploiting some bugs of tools used in Windows
Exploiting weaknesses of PPTP VPN (Auditor)
How to decrypt SSL encrypted traffic using a man in the middle attack (Auditor)
John The Ripper 1.7 password cracker Installation Instruction Video
MITM Hijacking
Sniffing logins and passwords
Snort Instruction video - howto install into backtrack
Telnet Bruteforce
Tunneling Exploits through SSH
WEP Cracking using Aireplay v2.2 Beta 7 (Whax 3.0)
WPA Cracking using Aireplay v2.2 Beta 7 (Whax 3.0)

Ahora viene lo mejor: eso son "sólo" vídeos hechos por otros. Ellos también hacen videotutoriales sobre hacking, y en su sección Hacking Illustrated se pueden descargar más de cuarenta (!), la mayoría en flash. Buena parte de ellos ya están entre los de mi colección, y los que me quedan por descargar irán cayendo poco a poco, que tengo ya el módem que echa humo ;)

Que ustedes los disfruten.

07 septiembre 2006

En el principio fue la línea de comandos

Hoy me he terminado de leer por tercera vez este genial ensayo (HTML | PDF) del no menos genial Neal Stephenson.

Es un libro muy ameno y entretenido, en el que el autor de Criptonomicón nos da un paseo por la historia de los sistemas operativos, desde los tiempos de los "terminales tontos" hasta las modernas GUI's. DOS, UNIX, BeOS, Mac OS, Windows, Linux... Un auténtico lujazo de libro que nunca me cansaré de leer.

Un libro que, por cierto, se puede copiar y distribuir siempre que sea para uso no comercial.

Sudoers

sudo

06 septiembre 2006

Se nos va Matthew Garrett

Matthew Garrett es uno de los máximos representantes y desarrolladores del proyecto Debian. Bueno, era. Me acabo de enterar, gracias a The Inquirer, que nos deja por otra, cansado de la forma en que se hacen las cosas en Debian, sobre todo por la lentitud en la toma de decisiones.

Él mismo lo contaba hace unos días en su blog. Buena suerte Matthew.

04 septiembre 2006

FreeDOS 1.0

Pues llegó el alumbramiento. A través de The Inquirer me entero de que, tras doce (!) años de desarrollo, ha sido liberada la primera versión estable de este sistema operativo open source, totalmente compatible con los viejos DOS.

¿Sabeis lo que esto significa? Pues que, gracias a FreeDOS y Qemu, por fin podré continuar la partida de Indiana Jones and the fate of Atlantis que dejé a medio hace trece años :D

Actualizado: Ya está el "bicho" corriendo.

FreeDOS

Ay, qué recuerdos...

El CLUF de Windows

Los que useis Windows debeis estar acostumbrados a instalarlo (mínimo una vez al año xD). Es una simple secuencia de siguiente, siguiente, siguiente, aceptar, tan típica de este... sistema operativo? El caso es que, justo antes de todo ese chorreo de "siguientes" hay un paso distinto: hay que pulsar F8. Es en ese momento en el que, al aceptar el CLUF (Contrato de Licencia para el Usuario Final) de Windows, estais aceptando cosas como éstas:

“You agree that at any time, and at the request of ‘content providers’ Microsoft may disable certain features on your computer, such as the ability to play your music or movie files.”

“You agree that Microsoft can automatically and without your consent put new software on your computer.”

“Microsoft may collect information about your computer and may share it with other companies, but this may not include personal information about you.”

“Microsoft assures you that Windows XP Home will work correctly for the first 90 days. They do not assure you that Windows XP Home or any ‘service packs’ or ‘hot fixes’ will work correctly after this time.”


Mr Heston nos ha hecho el favor de traducirlo en Sólo otro blog infame:

"Aceptas que en cualquier momento, y a petición de sus “proveedores de contenidos”, Microsoft pueda desactivar ciertas características en tu ordenador, tales como la posibilidad de reproducir música o archivos de vídeo."

"Aceptas que Microsoft pueda, automáticamente y sin tu consentimiento, poner nuevo software en tu ordenador."

"Microsoft podrá recoger información acerca de tu ordenador y podrá compartirla con otras compañías, pero esa información no podrá incluir información personal sobre ti."

"Microsoft garantiza que Windows XP Home funcionará correctamente durante los primeros 90 días. No garantiza que Windows XP Home o cualquiera de los “service packs” o “hot fixes” funcionen correctamente pasado ese tiempo."


Ejem, no comments.

03 septiembre 2006

Disponible Debian Sarge 3.1r3

Pues eso, que ya tenemos disponible, desde el día 1, la nueva revisión de Sarge.

Para los que no saben cómo funciona esto, decir que no es una nueva versión, sino una nueva release de la versión 3.1 Sarge que incluye actualizaciones de seguridad y correcciones de problemas de la versión.

De hecho, si teneis una entrada para security.debian.org en el /etc/apt/sources.list y actualizais regularmente, lo único que habreis notado es una nueva lista de paquetes en el repositorio oficial y una pequeña actualización el viernes pasado. Con eso, todo hecho :)

Anuncio | ChangeLog | FTP | Mirrors

23 agosto 2006

Ubuntu la cagó

Y bien cagada. Una actualización del paquete xserver-xorg-core ha dejado hoy sin interfaz gráfica a miles de usuarios que han actualizado el sistema. El hecho de que Ubuntu sea la distro preferida por los newbies de Linux quizá ha hecho que el suceso adquiera más relevancia. Imaginaos cientos de personas que no saben lo que es un ls y que de pronto se encuentran (más bien se topan de bruces) con una shell monda y lironda.

Los foros y newsgroups de Linux y de Ubuntu en particular se han convertido hoy en un hervidero de peticiones de ayuda con respecto al problema. Afortunadamente el punto fuerte de Ubuntu es su comunidad de usuarios, y los más experimentados han ayudado a calmar los ánimos aportando la solución hasta que el problema ha sido resuelto oficialmente unas horas después.

Todo el mundo se pregunta "¿En qué coño están pensando los maintainers de los repositorios de Ubuntu?" Yo no. Al fin y al cabo errare humanum est. Lo que yo me pregunto es: ¿En qué coño están pensando los usuarios de Ubuntu? ¿Piensan acaso que Ubuntu es como Windows, pero en marrón y sin tener que buscar un serial? Lo que quiero decir es que si usas un sistema operativo debes conocerlo, al igual que debes conocer el coche que conduces a diario. A ver si le perdemos de una vez el miedo a la shell, joer, que al fin y al cabo es en ella donde radica la potencia de Linux.

Espero no haber sonado demasiado radical...

Super Grub Disk

Ayer, googleando un poco para resolver una duda que se presentó en uno de los foros que frecuento, me topé de casualidad con Super Grub Disk, que, como dice el propio autor, es "un disquete o un cdrom autoarrancable orientado al rescate de sistemas y en concreto al arranque y restauración de arranques".

Super Grub Disk

Una herramienta completa y bastante útil, que nos puede sacar de más de un fregado.

Caracteristicas:

  • Restaurar Grub en MBR automaticamente

  • Arranque de Windows

  • Arranque de otros sistemas operativos

    • Arranque de GNU Hurd

    • Arranque de GNU Linux

  • Arranque Especial

    • EsBootFormerOs|Arrancar tu antiguo SO (un Linux u otro). En realidad carga el menu.lst de tu ordenador.

    • Intercambio de discos duros en BIOS y arranque de disquete / cdrom / particiones...

  • Arranque Clasico

    • Arrancar MBRs

    • Arrancar particiones

  • Herramientas

    • Activar particiones

  • Configuración

    • Cambiar teclado de consola

    • Multiidioma

Yo ya llevo una copia en mi mochila. Por si las moscas :)

20 agosto 2006

Un logo en el login

Perdón por el nefasto juego de palabras...

¿Verdad que un login "a palo seco" queda muy soso? Una pantalla negra, y un cursor parpadeando a la espera de nuestro username. Lo más cutre del mundo. Pero eso se puede remediar. Os presento un par de programas que pueden "alegrarle la cara" a nuestro shell login a través del archivo /etc/issue. Por supuesto son logos ascii-art, ya que estamos hablando de la consola.

El primero es linux_logo, un programa que genera a través de los scripts de arranque un issue con un logo que, al menos en la versión de Debian queda bastante... hummmm... debianita:

linux_logo

Lo único que hay que recordar es deshabilitar el script /etc/init.d/linuxlogo en nuestro runlevel, si no queremos que nos machaque el issue en cada arranque.

El otro es Welcome2l, que genera un /etc/issue.welcome2l más o menos como esto:

Welcome2l

Ambos están disponibles en los repositorios de Debian vía:

apt-get install linuxlogo welcome2l

Yo... al final no pude decidirme entre uno y otro, así que puse uno en /etc/issue y otro en /etc/motd :D

17 agosto 2006

Hacking del de verdad

Y hablo del sentido original de la palabra hacking. Os traigo dos proyectos que son auténticos hacks, se mire por donde se mire.

En primer lugar aquí vemos cómo a alguien se la ha ocurrido fabricar, con un microcontrolador PIC (de esos que se usan en robótica, que se programan mediante mnemónicos) y media docena de patatas (sí, así como suena) un servidor web alimentado por patatas:

Servidor web alimentado por patatas

O al menos era así cuando descubrí este proyecto. Parece ser, por lo que veo en la web del proyecto, que actualmente ha abandonado la idea original y ahora lo alimenta con una pila AAA (1,5 voltios), con una duración de la pila de varios años. Alucinante.

El segundo proyecto explica cómo usar la flash RAM de un router Linksys WRT54G para adaptarle un lector de tarjetas SD.

Router WRT54G hackeado

Esto sí son auténticos hackers.

¿Qué navegador usan los extraterrestres?

Hemos encontrado pruebas indiscutibles de que no es Internet Explorer. Por algo será :D

Firefox

Marillat se ha mudado

Uno de los repositorios no oficiales de Debian más utilizado es, junto con el de backports, el de multimedia, conocido de toda la vida como Marillat debido a su maintainer, Christian Marillat. En él se incluyen paquetes como avidemux, w32codecs, qdvdauthor, mjpegtools, dvdrip, etcétera, así que ya os podéis hacer una idea.

El caso es que hacía más de un mes que yo siempre veía este servidor "caído"... y con razón. Resulta que se ha mudado, y yo me entero ahora.

Hasta ahora, en mi sources.list había esto:

deb http://idefix.eup.uva.es/debian-marillat sarge main
deb ftp://ftp.nerim.net/debian-marillat/ sarge main


Y claro, me decía que nones. En fin, por si queda algún otro despistado por ahí, el servidor actual es:

deb http://debian-multimedia.org/ [sarge|etch|sid] main

12 agosto 2006

Escáner de dispositivos Bluetooth

Hoy me he pasado buena parte del día empollándome el protocolo Bluetooth y sus vulnerabilidades. Es un tema tan fascinante como extenso, y hasta ahora desconocido para mí, así que mañana seguiré con ello. Por el momento, esta tarde he estado codeando un sencillo escáner de dispositivos Bluetooth en bash, para las sesiones de wardriving que tengo pensado hacer ;)

Aquí os dejo el código fuente por si a alguien más le aprovecha, y una captura de pantalla. De momento es bastante sencillo, aunque de sobras cumple su función.

BlueScan

ACTUALIZACIÓN: Me he puesto a añadirle "pijaditas" y ya lleva más de doscientas líneas de código. No es mucho, pero quedaba bastante incómodo puesto aquí, así que lo he subido a otro servidor. Podéis ver el código fuente pinchando aquí.

ACTUALIZACION 2: Y menudo tinglado he montado alrededor...

11 agosto 2006

Compilando el kernel "a lo Debian"

Cualquier usuario que ha pasado la fase de introducción a Linux se encuentra con una prueba de fuego: compilar el kernel. Las razones pueden ser muchas: incluir nuevas funcionalidades, adaptar el núcleo a nuestra máquina o simplemente actualizar.

Esto es algo común a todas las distros, y no voy a explicar cómo hacerlo. Hay cientos de tutoriales muy buenos por ahí. Sin embargo, en Debian, aunque se puede hacer como en cualquier otra distro, hay también un modo especial de hacerlo. Como suele decirse, el Debian-way.

Además de lo típico para estos menesteres (código fuente del kernel, libncurses-dev si usas make menuconfig, etc.) es necesario instalar el paquete kernel-package. El proceso es bastante sencillo, y al final obtienes tu kernel recién compilado en un bonito paquete DEB listo para instalar. Veamos cómo.

Empezamos como siempre: descargamos los fuentes, desempaquetamos bajo /usr/src (orden ante todo), configuramos... La novedad viene a la hora de compilar: en lugar del clásico make, utilizaremos el comando

make-kpkg kernel_image --revision="cadena"

Donde cadena es eso, un string que diferencie el kernel, por si queréis compilar el mismo kernel varias veces con configuraciones distintas. No es obligatorio ponerlo, pero sí muy recomendable para poder distinguir con facilidad un kernel de otro. Puedes poner la fecha en que lo compilas o cualquier otra cadena que te permita identificarlo.

Cuando termine de compilar el kernel, tendremos el paquete DEB listo para instalar con dpkg. Debconf se encargará de preguntarnos si queremos modificar el gestor de arranque, y todo listo para el reinicio. A la Debian-way-of-life ;)

Y tú, ¿aún compilas el kernel a la manera tradicional? :)

07 agosto 2006

Regalos

Hoy mi novia me ha regalado esto :D

Peana para portátil

No la pantalla, sino la peana. Es una base para el portátil, cómoda a más no poder, sobre todo en la cama o cuando lo pones sobre las piernas. Portátil que, por cierto, también me regaló ella. Ains, si es que la tengo que querer... enamorado

Y para rematar el día, yo me he auto-regalado esto otro:

Reloj binario

Un reloj binario. Lo más geek que te puedas echar a la cara. Para los que no sepáis binario, en la foto marca las 3:23.

Que todos los lunes vengan como éste xD

06 agosto 2006

Los backports

Cuando una versión de Debian pasa a la rama stable es porque su estabilidad y seguridad han sido probadas y reprobadas por el proyecto. Esto hace que Debian stable sea una distribución muy estable (valga la redundancia) y segura. Pero también tiene una desventaja: los paquetes que la forman se han ido quedando anticuados en el proceso. Aquí entran en juego los backports.

Los backports son paquetes que forman parte de las ramas testing (la mayoría) y unstable (unos pocos) de Debian, pero compilados para stable, de ahí el nombre de backports (ports hacia atrás). Con ellos podemos disfrutar de las últimas versiones de muchos paquetes en nuestro sistema Debian stable. Por supuesto, son repositorios no oficiales.

Con los backports podemos disfrutar de un Debian Sarge con, por ejemplo:

  • Kernel 2.6.16

  • X.org 6.9.0

  • KDE 3.5.0 (con KMail 1.9.1, akregator 1.2.1, etc.)

  • Gaim 1.5.1CVS, aMSN 0.95, etcétera


Suena bien, eh? Para poder disfrutar de todo este tinglado, sólo tenéis que añadir en vuestro /etc/apt/sources.list el repositorio

deb http://www.backports.org/debian/ sarge-backports main

y después hacer apt-get update && apt-get upgrade

Viviendo peligrosamente.

El mundo de las actualizaciones masivas es, cuanto menos, esto... acongojante. De pronto, un apt-get upgrade te ha dejado doscientos y pico megas de software actualizado... y una lista interminable de paquetes retenidos. ¿Qué ha pasado aquí?

apt-get upgrade actualiza un paquete sólo si no tiene que instalar o desinstalar nada nuevo. Solamente actualiza. Cualquier paquete que para actualizarse necesite de uno nuevo o entre en conflicto con otro que tenga que ser desinstalado simplemente quedará retenido. Esa es la diferencia con apt-get dist-upgrade, que pondrá y quitará lo necesario para las actualizaciones. Pero no es nada recomendable hacer un apt-get dist-upgrade en un caso así. Mi consejo es que actualicéis con un apt-get upgrade y luego uséis un apt-get install para cada uno de los que quedan retenidos. Así podréis ver si sólo instalan paquetes o si tienen que desinstalar alguno para hacer la actualización. En este caso, vosotros decidiréis qué os conviene más.

Backports para ultraconservadores

La alternativa a la "actualización masiva" es, evidentemente, una "actualización selectiva". Si lo que queréis es actualizar/instalar sólo un/unos paquetes determinados desde los backports y dejar el resto como está, podéis utilizar el pinning de apt para darle menor prioridad a los backports. Para ello sólo hay que editar o crear el archivo /etc/apt/preferences e incluir las líneas:

Package: *
Pin: release o=Debian,a=stable
Pin-Priority: 900

Package: *
Pin: release a=sarge-backports
Pin-Priority: 200

Package: *
Pin: release o=Debian
Pin-Priority: -10


Listo. Ahora sólo se usará el repositorio de backports cuando hagáis apt-get install -t sarge-backports paquete.

Pues eso es todo. Ahora, a disfrutar de vuestro Debian Sarge remozado :)

05 agosto 2006

El proyecto Little Debian

Quería hablaros sobre este proyecto, pero casi va a ser mejor que lo veáis vosotros mismos. Sólo os diré que lo instalé hace unos meses por curiosidad (soy adicto a los sistemas operativos) en un Pentium II a 233 MHz con 32 Mb de RAM, y quedé absolutamente alucinado. Pasen y vean.

"Little" Debian es un proyecto casero para INTENTAR resucitar esos viejos Pentiums (y similares) que se encuentran tirados en cualquier rincón por estar aparentemente obsoletos. (Si es que donde hay billetes...)

Queremos dotarlos de un sistema operativo lo más "actual" posible y de los programas necesarios para que sean de nuevo REALMENTE "productivos" en un entorno "normal". (El DOOM 3 va a ser que no...)

Nos hemos basado en una Debian Woody + backports (oficiales), con algunos paquetes de Sarge y otros de cosecha personal...aparte de otros MUCHOS "inventos" añadidos. (Funciona, y BIEN, que conste...)

Los equipos usados para los tests son un portátil 133 con 32Mb de RAM y un sobremesa 166 también con 32 Mb. (De "verdad" de la "buena"...)

Si se te JODE el "ordenata" no nos hacemos responsables absolutamente de nada, ¿Queda claro?, el que avisa no es traidor. (Es "avisador"...)

Esto lo hacemos por hobby, porque queremos, nos gusta y nos da la gana...NO "semos" ni profesionales ni "gurús" del tema. Cualquier sugerencia o aportación será bienvenida, aunque nos reservamos el derecho de incluirla o aplicarla en el proyecto, ¿Vale?. (Si queréis invitarnos a unas birras no nos vamos a enfadar, que conste...)

...Ahora vas y lo cascas ;-D

Splashy

Quien haya querido ponerle un bootsplash a su Debian se habrá dado cuenta de que la tarea no es nada sencilla. La primera en la frente: hay que parchear y compilar el kernel. Y no sólo eso, sino que además tendreis que recompilarlo cada vez que querais cambiar el theme.

Bueno, pues en estas llega splashy. Es una aplicación que se ejecuta en el user space, lo que quiere decir que no hay que tocar el kernel para nada. Lo que hace splashy es añadir un script en el arranque y el shutdown, para mostrar un bootsplash "de pega". Con esto quiero decir que, aunque parece un bootsplash, sencillamente es una imagen JPG que hace uso del framebuffer para llenar una barra de progreso, ocultando el típico arranque de Debian y simulando ser un bootsplash auténtico. Además el hecho de que sea una imagen JPG significa que puedes hacerte tú tu propio theme muy fácilmente: te basta una (o dos) imágenes en JPG y un archivo de configuración (sumamente sencillo) en XML.

Incluye también nada menos que siete themes a elegir, por si no teneis ganas de hacerlo vosotros mismos: cuatro de ellos con el logo de Debian como tema central, uno con Tux, uno para Ubuntu y uno más para Kubuntu. Cambiar de uno a otro es tan sencillo como editar el archivo de configuración y cambiar el nombre del theme.

Para instalarlo sólo hay que añadir a la lista de repositorios la siguiente línea:

deb http://splashy.alioth.debian.org/debian/ unstable main

y hacer un apt-get update && apt-get install splashy splashy-themes

Espero que os guste :)

Animaciones en el arranque con LILO

Creo que en Linux hay dos tipos de usuarios: los que usan GRUB y los que usan LILO ;)

Yo soy de LILO y, como ya estaba harto de imágenes estáticas en el arranque, me puse manos a la obra para ponerle una animación a mi cargador de arranque. ¿Te animas? Para ello sólo es necesario que tu gráfica soporte el modo VESA a una resolución de 640x480 a 256 colores (todas las modernas lo soportan).

Lo primero que necesitas hacer es "desactualizar" LILO. Necesitamos el LILO usado por SuSE en su versión 7.3. En teoría, los paquetes LILO para SuSE posteriores también deberían funcionar, pero yo lo hice con ése, por lo que os puedo asegurar que éste sí funciona. El paquete en cuestión está aquí. ¿Por qué es necesario ése y no otro? Porque esta versión de LILO desarrollada por los de SuSE da soporte para VESA. También puedes encontrar el paquete adaptado para Red Hat o los sources para Slackware aquí.

Si, como yo, eres debianita, puedes usar alien para convertir el RPM en un DEB con

fakeroot alien -d lilo.rpm

Si además de debianita eres un poco gandul, puedes bajar el DEB de aquí o aquí, ya que alguien se ha tomado la molestia de hacerlo.

Después tenemos que evitar que al hacer un apt-get upgrade nos lo actualice, así que:

echo lilo hold | dpkg --set-selections

Ya sólo nos falta la imagen. Aquí encontrarás algunas, incluso un lbreakout jugable desde LILO. Sí, sí, un juego auténtico en el arranque.

Por último, editamos el /etc/lilo.conf y añadimos (o cambiamos):

message=/boot/la_imagen_que_elijas.boot

y ejecutamos lilo para instalarlo en la MBR.

No puedo poner una captura de pantalla de cómo me quedó por razones obvias, pero os aseguro que queda realmente cool :D. Ésta es la imagen que yo elegí:

Animación xray-blue

Por último añadir que estas imágenes permiten introducir parámetros de arranque directamente desde esa misma pantalla (ver la barra negra en la parte inferior).

Pues eso, a ver si os animáis :)

Documentación:
Linuca
RQ (en inglés)

02 agosto 2006

Parámetros de arranque

Pues vamos entrando en materia :P

Veamos una pequeña lista de los parámetros que se pueden pasar al proceso init en el arranque.

single: Arrancará el sistema en single mode, sin lanzar los daemons, sin red... sólo lo básico. Muy útil para tareas de administración. Se inicia el proceso init y después nos pide la contraseña de root. Si pulsamos Crtl+d el proceso de arranque continuará en el modo establecido en el /etc/inittab

root=/dev/device: Le dice al kernel qué dispositivo debe usar como sistema de archivos raíz. Por ejemplo, si arrancamos desde un Linux instalado en un pendrive usaríamos root=/dev/sda1

vga=ask: Nos muestra durante el arranque los modos posibles de la gráfica, permitiéndonos elegir uno de forma interactiva.

ro (read only): Con este parámetro ordenamos al kernel que monte el sistema de archivos raíz en modo de sólo lectura. Lo usaremos cuando queramos comprobar y reparar un sistema de archivos con fsck (no se debe hacer en modo lectura/escritura) o, por ejemplo, durante la investigación forense de una intrusión en un servidor.

rw (read-write): Para montar el sistema de archivos en modo lectura/escritura. Es el modo por defecto.

panic=N: Esta opción forzará un reinicio en N segundos en caso de un kernel panic. Útil si estamos probando un kernel que acabamos de compilar.

maxcpus=N: Para indicar a un kernel SMP el número máximo de CPUs que debe usar.

debug: Activa el kernel debugging. Útil sólo si estás programando un módulo de kernel y quieres encontrar problemas. Supongo que Linus Torvalds lo pasará directamente desde el cargador de arranque. Por cierto... Torvalds, usará LILO o GRUB?

selinux [0|1]: Activa (1) o desactiva (0) SELinux en el arranque.

raid=/dev/mdN: Esta opción le dice al kernel cómo montar arrays RAID. Es de destacar que, si md está compilado dentro del kernel y no como módulo, las particiones de tipo 0xfd son detectadas y montadas "automágicamente" en RAID. Esta detección puede suprimirse usando el parámetro raid=noautodetect.

mem=MEMORIA: La usaremos cuando el kernel no sea capaz de detectar toda la memoria, forzándolo a usar la cantidad especificada como MEMORIA.

hdN=noprobe: Para desactivar el dispositivo hdN. Recuerda que si desactivas en la BIOS, pongamos por caso, /dev/hdb, Linux lo seguirá detectando a no ser que uses este parámetro.


¿Y cómo pasar los parámetros al kernel?

Sencillo, aunque depende del cargador de arranque que uses.

Con LILO basta con pulsar la tecla [Esc] cuando aparezca el menú. Introduces entonces la etiqueta (label) de la imagen que quieres arrancar, seguida de los parámetros que vas a usar.

Con GRUB hay que pulsar 'e' para editar la línea de comandos de arranque.

Por último hay que recordar que la línea de comandos del kernel es un string con una longitud de 255 caracteres, incluyendo el carácter nulo de final de cadena '\0'. Si introducimos una cadena más larga, el string quedará truncado.

Pues ahí queda eso, para que lo disfrutéis, y para servirme de chuleta en el futuro ;)

Fuente: nixCraft

01 agosto 2006

Pantallazo

Para ir abriendo boca os dejo este screenshot del Debian (Sarge) + KDE que tengo en el portátil. Es el que más uso, así que procuro tenerlo siempre "al pelo". Espero que os guste :)


Pantallazo Debian

[Ver a tamaño completo]

Starting init

Siempre he dicho: "Yo no pienso escribir un blog". Y sin embargo aquí estoy. Blogueando en la blogocosa (ejem). Otro magnífico ejemplo del "nunca digas nunca jamás".

¿Y por qué? Pues eso me gustaría saber a mí. Y es que por más que intento encontrar la razón que me ha impulsado a hacer esto no tengo ni la más remota idea de por qué ha sido. Pues nada, qué le vamos a hacer... Un pringue más, como si anduviera sobrado de tiempo. En fins... En cualquier caso, si una sola anotación de este blog resulta de utilidad para una sola persona, me daré por más que satisfecho.

Y a todo esto... ¿de qué va Debianizado? Pues de mi pasión por los ordenadores, las redes, la programación, los sistemas operativos y, sobre todo, de mi pasión por Linux. Y Debian. El Debian de mis amores. Y es que no hay nada como encender una máquina y ver cargar un Debian "comme il faut".

Pues eso, starting init...