Archive for the ‘Debian’ Category

Cambio de Hora

Sunday, December 30th, 2007

Actualización: En el blog de Marga están las instrucciones para instalar un nuevo paquete de Debian y no tener que configurar a mano la nueva zona horaria. El nuevo paquete tzdata ya se encuentra en volatile. Apt-get upgrade y listo!

Me quedé dormido y se me escapó escribir sobre esto ayer! Vía el blog de Javier me entero que en GNU/Linux la improvisada y precaria solución al problema energético se resuelve medianamente fácil. No, no es TAN fácil ya que no todos los días las personas tienen que ajustar la hora de sus relojes para el Horario de Verano.

¿Qué gana uno haciendo todo este despelote? En Marzo cuando haya que volver al horario normal de no-verano, el reloj se actualizará automáticamente sin tener que modificarlo uno mismo a mano.

En Debian Etch hay que realizar X simples pasos:

  1. Si cambiaste la hora manualmente, volvela a poner como estaba antes.
  2. Cambiá al usuario root.
  3. Ejecutar: dpkg-reconfigure tzdata
  4. Luego ejecutar: tzconfig, y elegí tu zona horaria si corresponde. Aquí es: America/Argentina/Buenos_Aires
  5. Crear un archivo temporal llamado dstargentina.zic y que contenga:

Rule Argentina 2007 only - Dec 30 00:00 1 D
Rule Argentina 2008 only - Mar 16 00:00 0 -
Zone America/Argentina/Buenos_Aires -3:00 Argentina AR%sT

  1. Es muy importante que haya cuatro líneas de texto en el archivo; eso es, que la ultima línea esté en blanco.
  2. Ejecutá: zic dstargentina.zic
  3. Por último, ejecutar otra vez: dpkg-reconfigure tzdata

Es muy probable que haya que reiniciar el X para que todas las aplicaciones reciban la nueva fecha. Control-Alt-Backspace debería alcanzar. Saludos y felices fiestas a todos!

Pidgin en Backports.org!

Saturday, December 15th, 2007

Gracias a Backports.org ya podemos usar Pidgin en Debian Etch:

Gracias !!

Lista completa de dependencias de un paquete

Monday, November 26th, 2007

Hice un pequeño script en Python para averiguar la lista completa de dependencias de un paquete:

Ejemplo:

$ ./apt-get-all-deps.py wget
tzdata
libc6
zlib1g
libssl0.9.8
wget

Como dije en la lista de correo de Debian, el programa lo hice hace un rato y seguramente esté lleno de errores. Aún así, a alguien le puede resultar interesante. El programa devuelve la lista en el orden apropiado para instalarlos. Eso es, primero deberán instalar los que aparezcan al comienzo de la lista, y luego seguir instalando hasta el final.

Para descargar la lista completa de paquetes pueden hacer:

aptitude -d download `python apt-get-all-deps.py wget`

Usando Boost.Python en Debian (sin bjam)

Monday, November 26th, 2007

Deberán instalar el paquete libboost-python-dev de Debian. Luego:

#include <boost/python.hpp>
using namespace boost::python;

char const* greet()
{
return “hello, world”;
}

BOOST_PYTHON_MODULE(hello)
{
def(”greet”, greet);
}

Para compilar:

gcc -shared -Wl,-soname,hello -I/usr/include \
`python2.4-config –includes` `python2.4-config –libs` \
-lboost_python -o hello.so hello.cpp

Para ejecutar:

$ python
Python 2.4.4 (#2, Apr 5 2007, 20:11:18)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import hello
>>> hello.greet
<Boost.Python.function object at 0×81a1c98>
>>> hello.greet()
‘hello, world’

UT2004 en Debian

Sunday, October 28th, 2007

Hace tiempo que vengo buscando de dónde bajarme la demo del Unreal Tournament 2004 para GNU/Linux, ya que nunca logro encontrar el link correcto.

Al final tuve que bajarla desde Planet Unreal (link directo a la descarga), pero van a tener que esperar a que les llegue el pop en la queue de descargas (o pagar una suscripcion para poder bajar mucho y rapido). A mi me tocó esperar 35 minutos. También pueden intentar bajarla desde el sitio oficial de UT2004 (link directo).

Una vez descargado, habrá que instalarlo. Tiene un instalador propio, pero por suerte está lo suficientemente bien hecho como para poder instalarlo en tu $HOME sin tener que ser root. El archivo que descargaron es un ejecutable:

$ chmod 755 ut2004-lnx-demo3334.run
$ ./ut2004-lnx-demo3334.run

En la instalacion, cuando les pregunte dónde desean instalarlo pongan algun directorio de su home. Por ejemplo: /home/pedrito/ut2004demo. De esta forma van a poder desinstalar el juego borrando el directorio entero. O ejecutando el desinstalador, lo que ustedes prefieran.

Una vez instalado, si intentan ejecutarlo es muy probable que, como a mi, no les funcione el sonido. Para corregirlo, primero van a necesitar instalar el paquete libopenal0a de los repositorios Debian Etch:

apt-get install libopenal0a

(eso que está antes de la última a en el nombre del paquete es un cero).

El juego ya trae incorporada la librería OpenAL (dentro del directorio System), pero es una version vieja y buggeada (precompilada, y con una posible violacion de la LGPL) por lo que van a tener que ajustarlo para que use las nuevas y brillantes librerias que acaban de instalar:

$ cd ~/ut2004demo/System
$ mv openal.so openal.so.backup
$ ln -s /usr/lib/libopenal.so.0.0.0 openal.so

Listo! Para correr el juego con sonido:

$ cd ~/ut2004demo
$ ./ut2004-demo

ut2004-demo-2

ut2004-demo

Conectar Nokia 6020 en Debian con cable CA-42

Thursday, October 18th, 2007

Siguiendo con el post de Nicoman sobre su celular 3220, usar gnokii bajo Debian con el cable CA-42 (el alternativo que venden por Mercado Libre) es muy sencillo.

En Windows, el driver que me vino con el cable estaba totalmente buggeado, y cada tanto se me colgaba el XP. Aun así, el cable bajo GNU/Linux + gnokii parece funcionar sin ningún problema. El único invonveniente parece ser que es bastante lento. Descargar una imagen de 25kb desde la memoria del celular puede demorar hasta 1 minuto.

Bajo Etch, deberán instalar gnokii, conectar el cable CA-42 y configurarlo. Para ello, deberán copiar el archivo de configuracion por defecto as u $HOME:

$ cp /etc/gnokiirc ~/.gnokiirc

Deberán modificar las opciones para ajustarlas a su teléfono. En mi caso:

port = /dev/ttyUSB0

model = 6020

initlength = default

connection = serial

Las demás opciones pueden dejarlas con los valores por defecto.

En mi caso, el cable que compré es el barato que venden por pocos pesos en Mercado Libre. El CA-42 alternativo, compatible con DKU-5.

Cuando conecto el cable, dmesg me devuelve el siguiente mensaje:

$ dmesg | tail -n 15
drivers/usb/serial/usb-serial.c: USB Serial support registered for ark3116
ark3116 1-9:1.0: ark3116 converter detected
usb 1-9: ark3116 converter now attached to ttyUSB0
usbcore: registered new driver ark3116

Algo muy raro es que en el celular cada tanto me aparece un mensaje diciendo “Accesorio no compatible”. Por suerte no hace falta reconectar el cable ya que funciona igual, sin problemas.

Una vez hecho eso, hay que inicializar la conexion con el celular con el siguiente comando:

$ gnokii –identify
GNOKII Version 0.6.14
IMEI : 3553720xxxxxxxx
Manufacturer : Nokia
Model : 6020
Product name : RM-30
Revision : V 04.10

Es muy probable que tengan que esperar varios segundos (minutos?), la conexion es MUY LENTA.

Para obtener una lista en texto plano de su libreta de números telefónicos:

$ gnokii –getphonebook ME 1 end > telefonos-celular.txt

Eso descarga todos los numeros de la agenda en formato texto plano desde la memoria interna del celular. Para descargar los del Sim (el chip), reemplazar “ME” por “SM”. Para una lista completa de códigos de memoria mirar la wiki de gnokii.

Para ver más opciones sobre la opcion “–getphonebook”, mirar la wiki de gnokii, en especial si les interesa hacer un backup más de verdad de su agenda de números telefónicos.

Para navegar por el sistema de archivos del celular:

$ gnokii –getfilelist ‘C:\*’
GNOKII Version 0.6.14
Filelist for path C:\*:
predefgallery
predefhiddenfolder
predefinfofolder
predefomadm
User Content Package i_tpa_01
predefmessages
predeffiledownload
HTTP
predefsyncml
predefcalendar
serviceapplication
predeftemp
FIM_fixed_id
FIM_perm_id

No se asusten, mi celular no usa Windows. El suyo seguramente tampoco. Para ver todas las imagenes que sacamos con la camarita de fotos:

$ gnokii –getfilelist ‘C:\predefgallery\predefphotos\*’
GNOKII Version 0.6.14
Filelist for path C:\predefgallery\predefphotos\*:
Imagen000.jpg
Imagen001.jpg

Para poder descargar una de ellas:

$ gnokii –getfile ‘C:\predefgallery\predefphotos\Imagen000.jpg’
GNOKII Version 0.6.14
Progress: 2% completed
Progress: 4% completed

Progress: 98% completed
Progress: 100% completed

42

Se busca empaquetador Debian

Monday, October 1st, 2007

Estoy buscando a alguien que desee mantener un paquete Debian para AONX. Si quieren más detalles pueden ver la wiki del proyecto, el blog o mirar el foro.

CUPS: Cuatro comandos REALMENTE útiles

Tuesday, August 14th, 2007

Con tres PCs en casa pero una sola impresora, imprimir puede llegar a ser todo un problema. En especial porque para que se pueda imprimir, y en el momento en el que uno desea hacerlo, la impresora debe estar enchufada a una computadora, y ésta computadora a su vez debe estar prendida (malditos ingenieros, es por eso que yo no me dedico a la electrónica sino a la informática).

Bajo ese panorama, decidí poner la impresora en una PC con Linux, y usar el maravilloso y fantabuloso CUPS, que si bien puede llegar a ser un dolor de huevos hacerlo funcionar, una vez que sale funcionando te olvidás del asunto por siempre.

… o hasta que reinstalás el sistema operativo[*], no reconfigurás CUPS porque hace meses que no tenés hojas para imprimir y tu madre a la medianoche con una resma nueva en mano te dice que para la mañana del día siguiente necesita con urgencia imprimir algo.

Si, esa misma madre que un mes atrás no sabia diferenciar un teclado de un monitor, hoy está usando el AbiWord de taquito.

Si, mi madre usa Debian Etch pero todavia no lo sabe. Algún dia se lo confesaré. Jejejeje.

Es así que entre ayer y hoy tuve que luchar y seguir luchando con CUPS. Por suerte ya todo está funcionando, y me puedo olvidar hasta la proxima formateada.

Aún asi, les comento que econtré cuatro comandos REALMENTE útiles para CUPS. Asumiendo que su impresora la configuraron bajo el nombre Epson640, éstos son:

  1. cancel -a Epson640
    • borra todos los trabajos pendientes en la impresora. No questions asked.
  2. accept Epson640
    • acepta todos los trabajos pendientes en la impresora. No questions asked.
  3. cupsdisable Epson640
    • desactiva la impresora para que nadie pueda imprimir. No questions asked.
  4. cupsenable Epson640
    • reactiva la impresora para que puedan seguir imprimiendo normalmente. No questions asked.

Tengan en cuenta que en cada máquina de la red hay una cola de impresión, y no una sola en el “server” donde está enchufada fisicamente. Es así que, por ejemplo, si la PC que tiene la impresora está apagada, las PCs clientes van a tener su propia cola de trabajos. O sea que capaz tengan que ejecutar algunos de estos comandos en los clientes.

[*] Nunca jamás usen Debian Unstable, a menos que tengan chorreras de tiempo libre para arreglar los problemas de dependencia de los paquetes.

OLPC con Debian en la UNLP

Friday, July 13th, 2007

DSCN6102

DSCN6108b

El martes pasado con motivo de las Ch.P.P.S.O. a cargo de Joaquín Bogado, tuve la oportunidad de poder estar en contacto con una OLPC.

Para los que no saben qué es eso, la OLPC es una computadora portátil de bajo costo desarrollada por el MIT y cuyo propósito es el de que cada niño del mundo (de entre 7 y 10 años) pueda tener acceso a una computadora portátil. De ahí su nombre; OLPC significa “One Laptop Per Child”, lo cual se traduce a “Una Portátil para cada Niño”.

La intención de la gente del MIT era que los gobiernos de varios países la compren en grandes cantidades, cercanas a decenas de millones de unidades. De esta forma, el precio del aparato se mantenía cercano a los 100 dólares estadounidenses. Lamentablemente esto no fué asi y la máquina hoy en día tiene un precio aproximado de 175 dólares.

En especial, se esperaba que China e India se sumen a la iniciativa, pero hasta ahora parecería que no les agrada mucho la idea de la OLPC.

La charla no fue muy profunda, ya que basicamente es una computadora de bajo costo y bajo consumo. Lo más llamativo de la máquina es la pantalla LCD que tiene una altísima resolucion de 1200×900 y una definición (cantidad de pixeles por cm2) mucho mayor que cualquier monitor estándar de PC.

Además, existe la opción de apagarle la luz a la pantalla LCD y reducir fuertemente el consumo de la batería. Bajo este modo, si hay poca luz no se puede ver nada (muy similar a la pantalla de un teléfono celular con el teclado bloqueado) y hace falta una fuerte luz solar para que sea legible (tal como ocurre en el medio del Africa).

Con un procesador de 333Mhz consumiendo solamente 0.8 Watts y todos los componentes completamente integrados, el consumo de energía es mínimo. La duración de la batería varía según el uso, pero la idea es que funcione durante varias horas sin necesidad de recarga. Según Joaquín, se espera que dure al menos 6 horas.

También dispone de los periféricos básicos de cualquier computadora: teclado, ratón, parlantes, micrófono, webcam y conectores USB 2.0 para poder enchufarle cualquier gadget, como por ejemplo pendrives.

El software instalado es una versión modificada de GNU/Linux Fedora 6, con sus propios drivers controladores de video y su propio entorno gráfico llamado Sugar. No, no usa KDE, ni GNOME, ni Xfce, ni WMaker, ni cualquiera de los otros tantos entornos libres que existen bajo Linux. La gente del MIT desarrolló su propio entorno pensando en que los usuarios serán niños de 7 a 10 años.

Lamentablemente, este entorno es demasiado simple y las aplicaciones que corren sobre él, a diferencias de los clásicos entornos de Linux, deben ser diseñadas para correr específicamente sobre Sugar. Eso significa que, en principio, no sería posible correr cualquiera de las miles de aplicaciones disponibles para GNU/Linux, aún usando Fedora 6.

Ni siquiera Firefox :(

En realidad existe una version modificada del Firefox para Sugar (obviamente bajo otro nombre ;), pero existe el problema de las actualizaciones del software. ¿Qué ocurre si salen mejoras de seguridad en las versiones originales de los programas?

Es por esto que la gente de la UNLP decidió emprender la tarea de instalar una versión de Debian GNU/Linux en un pendrive USB y bootear desde ahí. Por ahora todas las pruebas que se hicieron son de concepto, y no existe ningún plan concreto para desarrollar una distribución de GNU/Linux alternativa para la OLPC. Al menos desde dentro de la UNLP.

El aparato por ahora es una versión prototipo, el cual dispone de una memoria interna de 512 MB con un sistema de archivos comprimidos, pero hasta la fecha nadie se animó a borrarlo e instalar una distribución de GNU/Linux más estable. La idea es que la versión definitiva tenga una memoria interna flash de 4GB, que usando el sistema de archivos comprimido puede ser aprovechado eficientemente.

(no, no se duplica el espacio disponible por usar compresión de datos).

Si quieren ver más fotos pueden verlas en mi Flickr.

Asa Dotzler, Firefox, Debian

Thursday, July 5th, 2007

Tal como se anunció en CaFeLug y TechTear, el lunes y martes pasado Asa Dotzler llegó a la Argentina a dar unas charlas sobre el proyecto Mozilla, y en especial sobre Firefox. El evento fué en la UADE el día lunes, y en el Teatro de la Comedia el día Martes.

Resumiendo ampliamente, la charla en sí estuvo muy interesante. En especial porque no se ven muchos de estos eventos por este lado del planeta, y es bueno saber que hay alguien que se toma la molestia de venir a visitarnos.

Aún cuando los asistentes fueron menos de 150 y todavía quedaban butacas libres en el auditorio, nos visitó alguien como Asa, quien es uno de los encargados de coordinar la difusión del proyecto en el mundo, y quien está al tanto de todo lo que ocurre en él.

O sea, su cargo es gerencial, de liderazgo y de evangelización. Si entran en la sección Staff de Mozilla.org podrán ver que aparece en el tercer lugar de la lista.

La charla fué en inglés, y la pronunciación de él fué impecable. Si bien no hubo mucho contenido técnico, pudo verse que Asa está al tanto de los mayores problemas técnicos del momento. Por ejemplo, algo anecdótico de comentar es que al finalizar la charla del día lunes, nos quedamos en el pasillo de la UADE hablando con él y alguien más le mencionó el mayor problema que se enfrenta AJAX: el botón de atrás del browser.

Asa no se hizo esperar, y al instante dijo que actualmente la solución es modificar el hash de la URL. Sencillamente brillante. Ojalá muchos de las personas que ocupan cargos gerenciales en empresas de desarrollo de software estén tan vinculadas con los problemas del mundo real que un programador enfrenta.

Un detalle: Asa no es un programador (no le gusta y no le interesa serlo), sino que fué un estudiante de Arquitectura (si, esos que hacen casitas).

Cuando Asa terminó de dar la charla fué el momento de las preguntas. Por lo que lei en otros blogs, a diferencia del lunes, el día martes hubo menor cantidad de preguntas.

¡El lunes tuvieron que echarnos a patadas del auditorio porque los encargados se tenían que ir! En un momento la gente de traducción simultánea (Inglés-Español) de la UADE se tuvo que ir, y solo los intrépidos que podían hablar inglés siguieron insistiendo. Hubo muchas preguntas, y Asa siempre estuvo a la altura de poder responder cada una de ellas.

Incluso la que hice yo.

“¿Hay algún plan para poder incluir Firefox dentro de Debian?”

Voy a ser lo más claro posible: uno de los motivos para viajar 100 kilómetros a una charla de Firefox fue para poder hacer esa pregunta. No me interesa viajar 2 horas y quedarme sentado otras 3 escuchando a alguien diciendome lo maravilloso que es Firefox. Ya lo sé, lo uso todos los días desde la version 1.0. Logré que lo use mi padre, y logré que en en lugar donde trabajo usen Thunderbird en vez de Outlook.

Risas de por medio y luego de un momento bastante incómodo, la respuesta de Asa fué de esperarse. Basicamente dijo que no.

Para los que no están al tanto de la situación Firefox - Debian, le comento un poco como son las cosas.

Debian es una distribución de GNU/Linux que hace un FUERTE hincapié en el Software Libre. La gente de Debian es tan insistente en ese tema, que tienen su propia definición de libertad la cual llaman Contrato Social. Cualquier cosa que no cumpla con alguna de esas reglas no se lo considera “libre”.

Firefox es un navegador Web de código libre y gratuito. Cualquiera puede instlarlo sin tener que pagarle nada a nadie, y cualquiera puede modificar y redistribuir su código fuente. Como todos sabemos, el código fuente es la receta de cualquier programa, y es lo más importante de cualquier programa de software.

Al menos en principio.

Como todos sabemos, vivimos en un mundo donde hay gente que tiene su propia agenda, sus propios intereses y su propia visión del mundo. Es por eso que existen agrupaciones como GNU, la Free Software Foundation y la Open Source Initiative , que se encargan de manejar las cuestiones legales de varios proyectos de software bajo una licencia de código libre, y definir ciertos límites de uso.

El código fuente de Firefox responde a la perfección al Contrato Social de Debian. El problema es que las imágenes no, incluyendo el logo del zorro naranja. Solamente Mozilla (o cualquiera que ellos designen), puede distribuir al navegador Firefox con esas imágenes.

Específicamente, las primer y tercer cláusulas del Contrato Social de Debian dicen:

1. Libre redistribución

La licencia de un componente de Debian no puede restringir a un tercero el vender o entregar el programa como parte de una distribución mayor que contiene programas de diferentes fuentes. La licencia no debe solicitar «royalties» u otras comisiones para su venta.

3. Trabajos derivados

La licencia debe permitir modificaciones y trabajos derivados y debe permitir que estos se distribuyan bajo los mismos términos que la licencia del programa original.

Eso significa que Debian acepta a usar las imagenes solo si los usuarios de Debian tienen los mismos derechos a usarlas que Debian mismo. Mozilla no tiene problema en darle permiso a Debian, pero en lo que sí tienen problemas es con darle permiso a todos los usuarios de esta distribución de GNU/Linux.

Y dado que el nombre “Firefox” es una marca registrada de Mozilla, siendo ellos los responsables legales del producto, pidieron que usen las imágenes, o no le llamen Firefox al Firefox ya que ellos consideran que todo el paquete es una gran transacción atómica: Se llama Firefox al código fuente que sale directamente desde Mozilla y a las imágenes. Todo o nada.

La solución fue cambiarle el nombre: en Debian, se llama Iceweasel (es el que estoy usando para escribir este post en mi blog).

Lo que no quieren es que cualquier persona pueda modificar el programa y distribuirlo bajo el nombre Firefox. Si hay algo diferente a como Mozilla lo distribuye, no puede llevar ese nombre.

Lo cual nos lleva a la respuesta que me dió Asa: en ese caso, cualquiera podría distribuir una versión modificada del Firefox con modificaciones potencialmente dañinas al usuario que lo use. Mozilla no se puede hacer responsable por lo que otros hagan con su software, lo cual a mi me parece bien.

Aún así, es una lástima que existan esta clase de conflictos entre dos proyectos Open Source, ya que éstos dependen mutuamente, uno del otro. No deberían estar enfrentados sino ayúdandose entre si. Lamentablemente, la realidad es diferente.

Para terminar, yo estoy muy feliz: gracias a la pregunta que le hice a Asa, ¡me dieron una remera de Firefox! Otro día le saco una foto y se las muestro (no la busquen en el Mozilla Store porque no la van a encontrar ;).

Saludos.