Kernel 2.6 y Suspender

Cuando migré de la vieja rama 2.4 del kernel a la nueva lo hice con la versión 2.6.4. Al configuarlo sentí curiosidad por los modos nuevos que habia de suspender la máquina:

1) Te guarda el estado del sistema en swap y apaga el PC.
2) Al encenderlo te recupera el estado del sistema tal y como estaba.

Es muy atractiva la idea asi. En el kernel hay 2 formas de hacer esto:

Power management options (ACPI, APM) -> Software Suspend (EXPERIMENTAL)
Power management options (ACPI, APM) -> Suspend-to-Disk Support

Segun leí en la documentación la primera había sido más testeada así que me decanté por esa opción. Lo active en el kernel y en el grub le pasé por parámetro al kernel “resume=/dev/hda2”, es decir, queria que usase esa partición swap para guardar la info.

Reinicié, ejecute “echo 4 > /proc/acpi/sleep” para suspender… esto mostró por pantalla algunos mensajes del proceso quedandose finalmente paralizado sin poder hacer nada con el PC, así que pensé que quizás se tenia que apagar físicamente. Así lo hice, despues volví a encender el portatil y al iniciar el sistema, no recuperó ningun estado 🙁 Fué un inicio normal y corriente. Después de diversos intentos abandoné.

Hoy, no se muy bien pq motivo, me he vuelto a meter en la configuración del kernel y he decidido probar la segunda opción. La he activado, he recompilado y en el grub le indico al kernel “pmdisk=/dev/hda2” en lugar del “resume=…”. Reinicio y ejecuto “echo -n disk > /sys/power/state” para suspender, el sistema me muestra por pantalla unos mensajes y se apaga. Reinicio de nuevo y cual es mi sorpresa que a media carga lee de la swap el estado anterior y me lo recupera, mostrandome la consola en la que habia ejecutado la orden de suspender!!! Impresionante!!

Intento volver a suspender, esta vez desde las X y no lo consigo 🙁 Me fijo en los logs del sistema y muestra continuamente problemas con los USB 😕 Hago un reinicio normal, vuelvo a entrar en las X e intento suspender…. funciona!! perfecto de nuevo, la recuperación me lleva de nuevo hasta GNOME 😀 Pero vuelvo a observar problemas con USB en los logs.

La cuestión es que recuerdo que no hace mucho que ha salido la versión 2.6.5 del kernel y busco su ChangeLog, efectivamente habían detectado el mismo error que yo y según indican ahí lo han solucionado. Ahora mismo me lo estoy bajando para probarlo, ya os contaré 😉

Actualización Con el kernel 2.6.5 se soluciona uno de los errores USB pero persiste otro, continuamente se va informando en el log del sistema lo siguiente:

Apr 9 20:13:45 luna hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad?
Apr 9 20:13:45 luna hub 1-0:1.0: over-current change on port 1
Apr 9 20:13:47 luna hub 1-0:1.0: Cannot enable port 2. Maybe the USB cable is bad?
Apr 9 20:13:47 luna hub 1-0:1.0: over-current change on port 2

Y no deja volver a suspender 🙁 Una posible solución seria deshabilitar el soporte USB en el kernel ya que tampoco lo utilizo habitualmente, pero no lo voy a intentar, prefiero esperar ya que imagino que se arreglara en un futuro.

Instalador gráfico Gentoo

Luis me ha hecho saber la existencia de un instalador gráfico de Gentoo, esta basado en Anaconda de RedHat y solo hace la instalación base ya que el segundo paso es la instalación de aplicaciones (e.g. GNOME, OpenOffice…) utilizando emerge.

No sabia que ya existía algo implementado pero si recuerdo haber oido discusiones al respecto, mucha gente criticaba la idea de que Gentoo tuviese un instalador gráfico pq entonces seria más fácil y perderia carísma. Esta idea la encuentro estúpida, creo que puede convivir perfectamente un instalador gràfico con uno manual y cada uno que eliga el que le convenga.

En el mundo GNU/Linux existe un cierto desprecio a segun que distribuciones o usuarios de dichas distribuciones, es algo completamente irracional. Yo recuerdo cuando hace años utilizaba Mandrake haber sido criticado por compañeros linuxeros por el mero hecho de utilizar dicha distribución, eso si, después resultaba que eran muy Debianeros pero no sabian ni recompilar el kernel!! No digo que todo el mundo deba saber esto, lo que quiero decir es que como es posible que te sientas “superior” por utilizar una distribución determinada y después no saber demostrar que realmente sabes del tema? Es este tipo de cosas las que me hacen entender que no podemos discriminar a las personas unicamente por la distribución que utilizan o hacer ver que sabemos más por utilizar tal o cual distribución.

No negaré sin embargo que personalmente no me gusta Mandrake o RedHat, tienen unos inconvenientes que me cuesta superar. Sin embargo Gentoo si me agrada a pesar de también tener otros defectos, pero con estos si puedo convivir 😉 En todo caso trato de no discriminar a nadie por su distribución.

Mozilla FireFox y extensiones

Siguiendo mis experimentos con el navegador Mozilla FireFox, hoy he instalado unas cuantas extensiones. De hecho la mayoría de extensiones de FireFox también estan disponibles para Mozilla pero es que la ligereza y velocidad del primero es fantastica. Mis extensiones favoritas:

Edit CSS: Editor de estilos.
Web Developer: Gran cantidad de opciones utiles para webmasters.
SpiderZilla: Descarga todo un website completo al disco duro usando httptrack.
All-in-one Gestures: Permite interaccionar con el navegador solo con los gestos del raton, pulsando el botón izquierdo y realizando ciertos movimientos se puede desplazar por el historial, crear nuevos tabuladores… También permite dibujar el movimiento, esto ultimo me ha encantado 🙂
TextPlain: Las URL o los emails que aparezcan en texto plano se interpretan como si fuesen links realmente.
RSS Reader Panel: Lector de RSS
AdBlock: Bloqueo de publicidad (más potente que el bloqueo de imagenes nativo de FireFox)
TabExtensions: Fantastica extensión con una inmensa cantidad de opciones para los tabuladores, tantas opciones van en contra de la filosofia de GNOME ya que no es sencillo de configurar pero te ofrece una gran potencia.
Bookmark Checker: Permite comprobar el estado de los enlaces guardados en los bookmarks señalando aquellos que ya no son validos.
Bookmark Sync: Sincroniza los bookmarks usando un FTP.
OfflineFB: Permite tener el modo offline en el navegador lo cual hace que no se vayan a buscar las paginas a Internet sinó que se mire en la cache local (si no existe ahi entonces no es posible visualizar). Me ha resultado útil para leer las noticias offline, mientras estoy conectado hablo todos los tabs de las paginas de noticias (cosa que hace que la info se guarde en cache) y despues desconectado me pongo en modo offline (File -> Work offline) y vuelvo a abrir todos los tabs de notícias 🙂
User Agent Switcher: Permite cambiar la cabecera User Agent del HTTP, es decir, permite hacerte pasar por otro navegador cuando visitas una web.

Para instalarlas simplemente hacer click en el link de su pagina correspondiente desde FireFox. He visto que hay un pequeño bug, cuando se instala algo obligatoriamente tienes que cerrar y abrir de nuevo el navegador, de lo contrario si seguimos instalando otras extensiones se repetiran las preguntas que nos hizo la primera instalación. En pocas palabras, que cada vez que instaleis una extensión cerreis el navegador y lo volvais a abrir antes de instalar la siguiente 😉

También estoy poniendo a prueba el lector de mails Mozilla Thunderbird, mucho mas ligero que Evolution pero hay cosas que no me gustan:

1) El corrector ortografico no es en tiempo real, el chequeo se realiza cuando vamos a enviar el mail.
2) En cuentas IMAP solo chequea el buzón principal, el resto de carpetas tienes que seleccionarlas para que mire en el servidor si hay mails nuevos. Este problema lo hereda de Mozilla Mail que también funcionaba así.

Por lo demás perfecto, con la extensión Enigmail puedo utilizar GnuPG igual que hacia antes. Seguiré probandolo 😉

Gaim plugin y combinaciones de tecla

Después de pasarme varias horas intentando hacer del gnome-notificier de Miguel de Icaza un plugin para gaim, resulta que descubro guificator, un plugin que cubre lo que yo pretendia sobradamente. En parte alegria en parte tristeza por perder tanto tiempo intentando hacer yo uno (reaprovechando el código de Miguel) xD Para los que usen Gentoo también esta en el portage aunque inestable. Para compilarlo de forma manual es necesario el código fuente de gaim y se ha de especificar al configure donde esta (./configure –help).

También he descubierto que con ctrl+alt+d se puede ocultar todas las ventanas o viceversa en gnome (sabia la existencia del botón que hacia eso pero no sabia como hacerlo por teclado ;-)). Esto me recuerda algo que creo que no comente por aqui y es que en OpenOffice, cuando nos aparecen ventanas flotantes como la de estilos, es posible arrastralas manteniendo pulsado ctrl y empotrarlas de forma que ya no queden flotantes, me gusta mejor así a mi 🙂

Transparencias y Mozilla FireFox

He acabado las transparencias sobre Mono, todas estan accesibe en el apartado material de la web de los cursos. Las he hecho muy detalladas y van acompañadas de ejemplos y de la aplicación Indexator.NET.

A través de la lista de correo de socios de Hispalinux he dado con una web con transparencias sobre comandos de GNU/Linux muy interesante, encima es FDL así que puede ir de perlas para nuestros alumnos 🙂

Tema aparte, acabo de “descubrir” Mozilla FireFox como navegador, de hecho lo probé hace bastantes meses pero aun le faltaba desarrollo. Ahora mismo esta en un punto bastante interesante, es funcional y carga mucho más rápido que mozilla. Además puedo importar los bookmarks de mi mozilla sin problemas (no como epiphany de GNOME). Lo probaré durante unos dias a ver si le encuentro pegas o me quedo con el 😉

MonoDevelop 0.2

Acabo de probar MonoDevelop 0.2, como queria hacerlo bien he pasado al nuevo kernel 2.6.4 para poder tener soporte NPTL (nuevo modelo de threads más eficiente de Linux), he activado el flag correspondiente de la variable USE de Gentoo y he recompilado las glibc para que también tengan soporte NPTL.

El NPTL es requisito para que funcione el debugger de MonoDevelop, de ahi que haya tenido que montar todo ese jaleo solo por el editor. También he recompilado mono 0.31 con –with-nptl=yes, finalmente he instalado todas las dependencias de MonoDevelop: gtk-sharp-0.18, gecko-sharp 0.1, mono-debugger 0.6, monodoc 0.13… y finalmente monodevelop 0.2. Por suerte ha ido todo muy fino sin problemas 🙂

Sobre MonoDevelop, ha mejorado bastante. Ahora tenemos monodoc integrado, el autocompletado ha mejorado (aunque solo me funciona cuando hago proyectos, para ficheros simples no va :-() y dispone del depurador que no depura nada, solo se cuelga xD No es usable el depurador, de hecho no he conseguido hacerlo funcionar ni una vez. El editor de texto también ha mejorado, antes cada vez que hacias una nueva linea se iba al principio el cursor y ahora va hasta la posición donde este indentado.

Lo que más me fastidia es que no tenga autocompletado en archivos normales y que solo funcione con combinados (proyectos). Una pena, y eso que reporte el bug antes de la 0.1 y Todd Berman me dijo que ya lo había solucionado, tendré que avisarle de nuevo.

Por cierto, el kernel 2.6 muy chulo aunque ha hecho que no me funcione el doble click en el touchpad, de todas formas he encontrado un howto en el foro de gentoo para hacer que GPM lo coja bien. Los drivers del modem (smart link) del portatil tampoco funcionan con el 2.6, por suerte no suelo utilizar ese modem. Aun tengo que probar la targeta wireless, a ver que tal 😉