13 de agosto de 2007

La estupidez de gnome-cups-icon

Hoy me he dado cuenta de que si uso gnome tengo un programa llamado gnome-cups-icon ejecutándose constantemente en mi sistema, que parece ejecutarse en todos los sistemas con Gnome, al menos en ubuntu. Tiene toda la pinta de ser el programa encargado de mostrarte un icono en el systray cuando mandas trabajos a la impresora, o algo así. Como no tengo impresora en este equipo, el programa se ejecuta constantemente y nunca muestra nada.

Lo he descubierto mientras ejecutaba top, porque lo vi subir un momento a la lista de procesos con mayor consumo de CPU. ¿Que estará haciendo el programa, para tener actividad alguna, si yo no tengo impresora? Incapaz de responder la pregunta, tiré de la herramienta canónica para este tipo de situaciones: strace -p `pidof gnome-cups-icon`.

Mi sorpresa fue comprobar como este programita se activa cada pocos segundos. ¿La razón? Parece ser que este programita se conecta cada 3-4 segundos a un socket local donde presumiblemente consulta a CUPS a ver si hay alguna impresora o trabajo de impresión nuevo. En resumen, una consulta constante, que en 1 hora de uso de ordenador me ha consumido 9 segundos de CPU -imagínense, 9 largos segundos gastando millones y millones de ciclos en una CPU moderna funcionando al 100%- por designio divino.

No se en los muertos de quien ciscarme, si en los de los autores del icono o los de CUPS. En teoría, en un sistema perfectamente diseñado, no habría que andar haciendo el paripé consultando nada; CUPS notificaría la presencia de trabajos y de algún modo se ejecutaría el programa que muestre el icono; utilizando mecanismos de DBUS por ejemplo. Porque esa es otra, gnome-cups-icon consume 8600 KB de memoria (6000 y pico compartidos) debido a la necesidad de estarse ejecutando constantemente. De hecho, en un sistema perfecto, CUPS no se iniciaria hasta que no se conectara la impresora o se enviara un trabajo -como creo que se hace en OS X gracias a su reemplazo de los scripts de inicio-, porque dime tu a mi que sentido tiene tener CUPS (que solo consume 1800 KB de memoria) en un sistema que jamás va a imprimir ni tener conectada ninguna impresora. En cualquier caso, lo del programa del icono es una chapuza y un cachondeo.

6 comentarios:

  1. Hombre, es un poco quisquilloso. En una cpu "moderna" ni lo vas a notar.

    De todos modos, si no lo quieres en tu sesión, ya sabes -> Sistema -> Sesiones

    Saludos, y sigue metiendo caña a Gnome, es perfecto, pero le queda muchas imperfecciones ;-)

    ResponderEliminar
  2. Cierto opino lo mismo que tu, casi todas las distros instalan CUPS sin detectar si hay una impresora, mi PC tampoco tiene impresora y siempre luego instalar un distro tengo que quitarlo. Se que es fácil el proceso pero deberia ser automático.

    ResponderEliminar
  3. pues sí... ¿has visto ya el borrador del release notes de Gnome 2.20? tiene cosas interesantes.

    http://live.gnome.org/TwoPointNineteen/ReleaseNotes
    http://live.gnome.org/TwoPointNineteen/ReleaseNotes/Draft

    salu2

    ResponderEliminar
  4. Ya lo dijo Linus Torvalds, hay que pasarse a KDE. Gnome de tanto simplificar se ha vuelto tonto

    ResponderEliminar
  5. aloriel@oberon:~$ ps aux |grep gnome-cups-icon
    aloriel 3542 0.0 0.0 3316 748 pts/1 R+ 11:03 0:00 grep gnome-cups-icon

    En debian.

    ResponderEliminar
  6. @Jaime no tiene nada que ver la simplificación, ni el HIG ni nada parecido. Simplemente, lo mal hecho, mal hecho esta.

    ResponderEliminar