KDE 2.2.2 optimizado

TÍTULO:			KDE 2.2.2 optimizado
VERSIÓN LFS:	3.0
AUTOR:			Adam Ottley <aottley@shaw.ca>
TRADUCTOR:	Proyecto LFS-ES

SINOPSIS:
	El objetivo de esta receta es la de construir no solamente una instalación
	simple de KDE2, sino una realmente optimizada. KDE2 tiene la reputación 
	de ser lento como una tortuga, pero hay algunas cosas que puedes hacer 
	para aliviarlo. Una parte de esta receta fue tomada de la receta para KDE de
	Bruce Dubb, que es la parte de construir como compartida la librería lcms. 
	Esta receta asume que has aplicado la receta X11.txt y que ya tienes instalado 
	XFree86 y zlib.

Historial de cambios:
	Oct 30/01: Se agregaron enlaces simbólicos para que libmng pueda encontrar
	los ficheros de cabecera de lcms (/me se abofetea y le agradece a Michael 
	Aichler)
	Dic 01/01: KDE 2.2.2, versiones nuevas de los paquetes de soporte, y una
	lista mejor de paquetes opcionales.
	Dic 10/01: Se separó lame/vorbis/cdparanoia y se creó otra receta, agregados
	gdb y ispell en la lista de paquetes opcionales, se agregaron referencias a otras
	recetas con los paquetes opcionales, se agregó la solución para el alisado de 
	fuentes en kicker.
	
RECETA:

Los paquetes que vas a nacesitar:

----Requeridos----

  jpegsrc.v6b.tar.gz (http://www.ijg.org/)
  libpng-1.2.0.tar.gz (http://www.libpng.org/pub/png/libpng.html)
  tiff-v3.5.7.tar.gz (http://www.libtiff.org/)
  libmng-1.0.3.tar.gz (http://www.libmng.com/)
  qt-x11-2.3.1.tar.gz (http://www.trolltech.com/)
  pcre-3.4.tar.gz (http://www.pcre.org/)
  audiofile-0.2.3.tar.gz (http://dreamscape.68k.org/~michael/audiofile/)
  libxml2-2.4.8.tar.gz (http://xmlsoft.org/)
  libxslt-1.0.6.tar.gz (http://xmlsoft.org/)
  lcms-1.0.7.tar.gz (http://www.littlecms.com/)
  kdelibs-2.2.2.tar.bz2 (http://www.kde.org/)
  kdebase-2.2.2.tar.bz2


Paquetes opcionales (pero recomendados) de KDE:
  kdeaddons-2.2.2.tar.bz2
  kdeadmin-2.2.2.tar.bz2
  kdeartwork-2.2.2.tar.bz2
  kdegames-2.2.2.tar.bz2
  kdegraphics-2.2.2.tar.bz2
  kdemultimedia-2.2.2.tar.bz2
  kdenetwork-2.2.2.tar.bz2
  kdepim-2.2.2.tar.bz2
  kdetoys-2.2.2.tar.bz2
  kdeutils-2.2.2.tar.bz2
  kdoc-2.2.2.tar.bz2
  koffice-1.1.tar.bz2
  <El paquete de localización (i18n) de KDE que necesites>

Los paquetes que los desarrolladores pudieran querer:
  kdebindings-2.2.2.tar.bz2
  kdevelop-2.0.2.tar.bz2
  kdesdk-2.2.2.tar.bz2


----Paquetes opcionales----

KDE depende de un número de paquetes externos para obtener ciertas funcionalidades.
He recopilado en esta lista qué paquetes son necesarios para qué propósitos 
(si me ha faltado alguno, házmelo saber). El paquete opcional lesstif ya está
cubierto en esta receta.

  ltmain.patch (http://homepage.usask.ca/~aco907/ltmain.patch)
Si obtienes unas líneas de enlazado absurdamente largas cuando compilas el
KDE, necesitarás esto.

  objprelink  (http://leon.bottou.com/objprelink/howto.html)
Preenlaza las librerías C++, resultando en un inicio más rápido. También deberías
obtener el parche para las QT del mismo sitio, y si estás compilando KOffice,
obtener el parche para KDE.

-------

Los siguientes paquetes opcionales deben estar instalados antes de compilar
kdelibs:

  openssl  (http://www.openssl.org/)
Se necesita para tener soporte SSL. (p.ej. https://). Ver la receta
openssh.txt

  cups  (http://www.cups.org/)
Para que KDE pueda imprimir usando el Sistema Común de Impresión para
Unix (Common Unix Printing System).  Ver la receta cups-printing.txt.

  libfam  (http://oss.sgi.com/projects/fam/)
Permite a libkio monitorizarr la alteración de un fichero.

-------

Los siguientes paquetes opcionales deben estar instalados antes de compilar
kdebase:

  lesstif  (http://www.lesstif.org/)
Un conjunto de herramientas para interfaces de usuario usado por los módulos
(plugins) del navegador Netscape en Konqueror.

  libao, libogg, libvorbis  (http://www.vorbis.com/)
Necesarios para codificar CDs de audio en formato Ogg Vorbis usando el
ioslave audiocd:/ de KDE. Ver la receta mp3ogg.txt.

  lame  (http://www.mp3dev.org/mp3/)
Necesario para codificar CDs de audio en formato MP3 usando el ioslave
audiocd:/ de KDE. Ver la receta mp3ogg.txt.

  cdparanoia  (http://www.xiph.org/paranoia/)
Necesario para extraer pistas de de un CD usando audiocd:/. Ver la
receta mp3ogg.txt.

  lm_sensors  (http://www.netroedge.com/~lm78/)
Habilita el monitoreo de la temperatura de hardware/voltaje/RPM del ventilador 
en ksysguard. Ver la receta lm_sensors.txt.

  libsmbclient  (http://www.samba.org/)
Usado por el kioslave SMB. (Samba debe haber sido configurado con la opción
--with-libsmbclient). Ver la receta samba.txt.

  openldap  (http://www.openldap.org/)
Usado por el kioslave LDAP, habilitando el acceso LDAP a todas las aplicaciones
KDE.

  PAM  (http://www.kernel.org/pub/linux/libs/pam/pre/library/)
Módulos de autentificación conectables (Pluggable authentication modules), 
usados en KDM y Kscreensaver (si alguien consigue alguna configuración para
PAM que funcione con KDE + PAM + LFS, dime cómo, pues la que viene
incluida con KDE no funciona).

  MesaGL  (http://www.mesa3d.org/)
Libería que es compatible con OpenGL, es requerida para generar los salvapantallas
OpenGL. Ver la receta tuxracer.txt.

-------
  
Los siguientes paquetes opcionales deben estar instalados antes de compilar
kdegraphics:

  sane  (http://www.mostang.com/sane/)
Necesario para acceder a los escáneres desde las aplicaciones KDE.  

  gPhoto2  (http://www.gphoto.org/)
Para acceder a cámaras digitales desde las aplicaciones KDE.

-------

Los siguientes paquetes opcionales deben estar instalados antes de compilar
kdemultimedia:

  cdparanoia  (http://www.xiph.org/paranoia/)
Agrega la reproducción de CD via Extracción de Audio Digital con la mpeglib incluida.
Ver la receta mp3ogg.txt.

  libao, libogg, libvorbis  (http://www.vorbis.com/)
Necesario para la reproducción de ogg vorbis en noatun. Ver la receta mp3ogg.txt.

-------

Los siguientes paquetes opcionales deben estar instalados antes de compilar 
kdeadmin:

  rpm  (http://www.rpm.org)
Para soporte de RPM en kpakcage. Ver la receta rpm.txt.

-------

Los siguientes paquetes opcionales deben estar instalados antes de compilar kdepim:

  pilot-link  (http://www.pilot-link.org)
Para conectarse a PDAs Palm.

-------

Los siguientes paquetes opcionales deben estar instalados antes de compilar 
kdeaddons:

  SDL  (http://www.libsdl.org/)
Una API multimedia que usa noatun para los módulos de visualización. Ver la receta
tuxracer.txt.

-------

Estos cuatro paquetes son útiles, pero no es necesario tenerlos instalados antes de
compilar kde:

  gdb  (http://www.gnu.org/)
el depurador de GNU, permite generar una exploración hacia atrás (backtrace) tras
un fallo de un progama (crash).

  teTeX  (http://www.tug.org/teTeX/)
Habilita la capacidad de ver ficheros DVI en kdvi.

  ghostscript  (http://www.cs.wisc.edu/~ghost/doc/gnu/index.htm)
Habilita la capacidad de ver ficheros Postscript y PDF en kghostview. Ver la receta
gnome.txt.

  ispell  (http://fmg-www.cs.ucla.edu/fmg-members/geoff/ispell.html)
Este corrector ortográfico multilenguaje es usado por varias aplicaciones KDE.


----------------------------
INSTRUCCIONES DE INSTALACIÓN
----------------------------


Optimización

Escoje tus CFLAGS y CXXFLAGS sabiamente. Se sabe que -march=i686 causa
problemas en algunos casos, y la verdad es que es raro lograr con -march=i686
una aceleración notable respecto a usar -mcpu=i686. Yo he creado todo en la
receta usando "-O3 -march=i386 -mcpu=i686" en un sistema LFS 3.0, y no he
tenido problemas. Dicho esto, establece tus variables CFLAGS y CXXFLAGS según
tu elección de optimización.

  export CFLAGS='-O3 -march=i386 -mcpu=i686'
  export CXXFLAGS='-O3 -march=i386 -mcpu=i686'


-----------------------------


libjpeg v6b  (http://www.ijg.org/)

Esta librería manipula imágenes JPEG.

Instala jpeglib con estos comandos:

./configure --prefix=/usr --enable-shared --enable-static &&
make &&
make install


-----------------------------


libpng 1.2.0  (http://www.libpng.org/pub/png/libpng.html)

ADVERTENCIA: Si ya tienes instalado libpng-1.0.x y tienes aplicaciones que están
enlazadas a ella es recomendable que NO instales libpng-1.2.0. Puede haber
conflicto si lo haces.

libpng se usa para imágenes portables por la red (portable network graphics),
que son comprimidas con poca pérdida de calidad y son usadas intensivamente
en KDE.

Copie el makefile apropiado del directorio de guiones (scripts) al directorio
raíz de libpng. La elección obvia es el makefile.linux, pero si quieres
puedes usar el makefile.gmmx para obtener las optimizaciones MMX.

  cp scripts/makefile.linux Makefile

Ahora edita el Makefile y cambia

	prefix=/usr/local

A tu elección de prefijo (prefix) y

	#ZLIBLIB=/usr/local/lib
	#ZLIBINC=/usr/local/include
	ZLIBLIB=../zlib
	ZLIBINC=../zlib

a

	ZLIBLIB=/usr/lib
	ZLIBINC=/usr/include
	#ZLIBLIB=../zlib
	#ZLIBINC=../zlib

y agrega cualquier opción de optimización que desees a la declaración CFLAGS.
Después de ésto, solamente falta hacer un

  make &&
  make install

para instalar libpng.


--------------------------


lcms 1.07  (http://www.littlecms.com/)

LCMS es un sistema de administración del color.

Edita el fichero install.gcc para agregar a la línea del gcc las optimizaciones 
que desees.
p.ej: gcc -O3 -march=i386 -mcpu=i686 -c *.c
Obtendrás un error al final de la construción, pero es solamente una prueba
de la librería que falló porque le falta un parámetro. La prueba no fallará si
le agregas -lm después de /usr/lib/liblcms.a en la penúltima línea del install.gcc.

Para construir e instalar la librería estática, ejecuta

  ./install.gcc

Yo tuve que construir la librería compartida para que QT pudiera construirse
sin problemas contra libmng, hazlo usando estos comandos:

  cd src &&
  gcc -o liblcms.so.1.0.7 -shared *.o &&
  cp liblcms.so.1.0.7 /usr/lib &&
  cd /usr/lib &&
  ln -s liblcms.so.1.0.7 liblcms.so.1 &&
  ln -s liblcms.so.1 liblcms.so

Algunos programas (como libmng) busca los ficheros de cabecera de lcms en 
lugares distintos, así que estableceremos enlaces simbólicos con estos comandos:

  mkdir /usr/include/lcms &&
  cd /usr/include/lcms &&
  ln -s ../lcms.h lcms.h &&
  ln -s ../icc34.h icc34.h


----------------------------


libmng 1.0.3  (http://www.libmng.com/)

MNG es básicamente un PNG animado. Con la controversia sobre la patente del
GIF, hubo una llamada a cambiar el GIF por el PNG, pero hasta que llegó el
MNG no había nada que reemplazara al GIF animado.

Instala libmng con los siguientes comandos:

  ./configure --prefix=/usr --with-zlib --with-jpeg --with-lcms &&
  make &&
  make install


----------------------------


libtiff 3.5.7  (http://www.libtiff.org/)

libtiff manipula el formato de imagen TIFF.

Si no deseas que la librería quede instalada en /usr/local, edita el fichero
config.site y quita el comentario de las declaraciones DIR_BIN, DIR_INC, 
DIR_LIB y DIR_MAN, y cámbialas por la ruta donde prefieras instalarla.

Configura tiff:

  ./configure --noninteractive

Para evitar que se inserte el código de depuración, establecemos la variable
COPTS a vacío en el comando make, pero primero debemos arreglar el Makefile:

  cp Makefile Makefile.old &&
  sed 's/-${MAKEFLAGS}/${MAKEFLAGS}/' Makefile.old > Makefile &&
  make COPTS="" OPTIMIZER="$CFLAGS" &&
  make install


----------------------------


pcre 3.4  (http://www.pcre.org/)

PCRE significa "Expresiones Regulares Compatibles con Perl" (perl-compatible
regular expressions), y son usadas por KDE para las expresiones regulares
en Javascript.

Instala pcre con estos comandos:

  ./configure --prefix=/usr &&
  make &&
  make install


-----------------------------


libxml2 2.4.8  (http://xmlsoft.org/)

Parte del paquete kdesupport, libxml2 se usa para el sistema 
de documentación y de ayuda de KDE. Hay nuevas versiones 
disponibles de libxml, pero hay varios reportes de versiones 
recientes que no trabajan con KDE 2.2.2.


Instala libxml2 con estos comandos:

  ./configure --prefix=/usr &&
  make &&
  make install


-----------------------------


libxslt 1.0.6  (http://xmlsoft.org/)

libxslt es un paquete para ser usado con libxml2, y se usa en el sistema
de ayuda de KDE. Hay nuevas versiones disponibles de libxslt, pero hay
varios reportes de versiones recientes que no trabajan con KDE 2.2.2.


Instala libxslt con estos comandos:

  ./configure --prefix=/usr &&
  make &&
  make install


-----------------------------


audiofile 0.2.3  (http://dreamscape.68k.org/~michael/audiofile/)

También, aparte de kdesupport, necesitas audiofile para tener sonido en KDE.

Instala audiofile con estos comandos:

  ./configure --prefix=/usr &&
  make &&
  make install


------------------------------


Preenlazado de objetos (objprelink)  (http://leon.bottou.com/objprelink/howto.html)

Esta parte es opcional, pero sumamente recomendable. Vas a necesitar la
versión más reciente de binutils (para el momento, 2.11.2), y si algo
de glibc, gcc o binutils fué compilado con optimizaciones existe la
posibilidad que cualquier cosa que preenlaces genere una violación de
segmento cuando lo lances. EL preenlazado falló en mi sistema LFS 2.4.3,
en el cual estos fueron creados con optimizaciones; en un sistema LFS 3.0
en donde glibc, gcc y binutils fueron compilados sin optimizaciones y todo
fue creado con -O3 -march=i386 -mcpu=i686, el preenlazado funcionó bien.
Procede con precaución.

Dicho esto, compila e instala objprelink con estos comandos:

  gcc -o objprelink -O2 objprelink.c -lbfd -liberty &&
  cp objprelink /usr/bin

Podemos enlazarla dinámicamente con libbfd ya que la razón dada respecto al
por qué del enlazado estático no se aplica al LFS.


------------------------------


qt 2.3.1  (http://www.trolltech.com/)

El conjunto de herramientas para interfaces de usuario hecho en C++ sobre el
cual KDE ha sido hecho puede tardar una o dos horas en compilarse. Ahorraremos
tiempo no compilando las cosas que no son necesarias. NO se recomienda usar 
la versión 2.3.2 de las qt, ya que KDE no podrá crearse contra ésta, debido
a errores de programación.

Personalmente, yo desempaqueto las qt en /usr/lib/qt-2.3.1 y creo el enlace
simbólico /usr/lib/qt2 que apunta a qt-2.3.1. Tal vez quieras agregar la 
ruta /usr/lib/qt2/lib en el /etc/ld.so.conf, lo cual yo hago por si acaso.

Si estás preenlazando, entonces aplica el parche desde directorio raíz de las qt:

  patch -p0 -i qt-configs.patch

Esto parcheará el fichero configs/linux-g++-shared. También puedes editar el
fichero linux-g++-shared y agregar tus optimizaciones en las entradas
SYSCONF_CXXFLAGS y SYSCONF_CFLAGS.


Ahora configura las qt:

  export QTDIR=$PWD
  ./configure -shared -sm -thread -gif -system-libpng -system-libmng \
-system-zlib -system-jpeg -no-opengl -xft -no-g++-exceptions


Explicación de los parámetros de configuración:

  -gif -system-libpng -system-libmng -system-zlib -system-jpeg:  

Por defecto, el soporte para GIF está deshabilitado y QT usa las versiones que
trae incluidas de zlib, libmng, libpng y jpeglib. Queremos que use las librerías
que ya habíamos construido, y queremos el soporte para GIF.

  -no-opengl:
No necesitas el soporte para OpenGL.

  -xft:
Construye con el soporte para el suavizado de bordes.

  -no-g++-exceptions:
Construir las QT sin las excepciones le quita unos cuantos megabytes de la
librería y la acelera notablemente.

Ahora compila las QT ejecutando:

  make symlinks sub-src sub-tools

Y déjalo correr por un tiempo. Diciéndole que haga solamente esos objetivos
evitará que compile el tutorial y los ejemplos, los cuales no son necesarios.
Si aplicaste el parche de preenlazado de objetos y el proceso de construcción
se detiene inesperadamente con una violacion de segmento cuando se ejecuta
"moc", eso es un indicativo que el preenlazado no va a funciuonar en tu sistema.
Desearía saber qué hacer al respecto, pero hasta ahora no se conoce ninguna 
manera de arreglar esto.

Una vez que el proceso haya terminado, eso es todo respecto a la construcción
de las QT.

Como se compiló el soporte para suavizado de fuentes (o tipos de letra),
necesitarás agregar la ruta de tus fuentes TrueType en el /etc/X11/XftConfig.
Solamente con insertar la línea:

  dir "/usr/X11R6/lib/X11/fonts/TrueType"

(o donde hayas puesto tus fuentes TrueType), estás listo. Quizas quieras 
evitar que a ciertos tamaños de fuente se le aplique el alisado de bordes.
Por ejemplo, puedes evitar que a tamaños de fuente entre 8pt y 14 pt se le 
aplique el alisado de bordes agregando las siguientes líneas en el
/etc/X11/XftConfig:

  match
        any size > 8
        any size < 14
  edit
        antialias = false;


----------------------------


lesstif  (optional) (http://www.lesstif.org/)

lesstif es una versión en código abierto del juego de herramientas
Motif, y es usado en KDE para que Konqueror tenga soporte para los
plugins de Netscape.

Instala lesstif con estos comandos:

  ./configure --prefix=/usr --disable-debug &&
  make &&
  make install


----------------------------


KDE 2.2.2 preparación  (http://www.kde.org/)


Se sabe que KDE 2.2.x ha sido problemático cuando se compila con 
-march=i686. Lo más notable es que aRts tiende a fallar completamente. Si
experimentas perturbaciones, disminuye el nivel de optimización en tus
CFGLAS y CXXFLAGS y vuelve a intentarlo.


KDE2 usualmente va dentro de su propio directorio, la mayoría de las veces en
/usr/local/kde2 o en /opt/kde2. Yo uso el anterior. Cualquiera que uses, 
asegúrate de agregar el directorio bin en tu ruta (PATH)  y el directorio lib al
/etc/ld.so.conf.

Una nota para los usuario Nvidia: Si instalaste MesaGL en /usr para los
salvapantallas 3D y subsecuentemente instalaste los controladores de Nvidia,
el proceso de construcción de kdebase no encontrará las librería libGL.la y
se detendrá. Para arreglar esto, instala MesaGL, luego KDE2 y luego los
controladores Nvidia.

El fichero ltmain.sh incluido en cada paquete KDE tiene un error de 
programación que crea comandos muy largos, que causan que libtool tarde 
mucho más tiempo de lo normal en ejecutarse. Sin embargo este error parece
ocurrir solamente si tienes múltiples versiones de gcc instaladas 
simultáneamente. Este error no ocurrió cuando se construyó el KDE2.2.2  
sólo con el gcc 2.95.3, pero cuando se construyó con gcc 2.95.3 y 3.0.2 
(siendo la versión 2.95.3 la predeterminada) el error ocurrió.
Sabrás si eres uno de los afectados si ves algo como esto cuando haces el
make:

-lgcc_s -lgcc -lc -lgcc_s -lgcc -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lm -lc
-lm -lm -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lm -lgcc_s -lgcc -lc -lgcc_s
-lgcc -lm -lc -lpthread -lpthread -lm -lm -lm -lgcc_s -lgcc -lc -lgcc_s
-lgcc -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lm -lc -lm -lm -lm -lgcc_s -lgcc
-lc -lgcc_s -lgcc -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lm -lc -lpthread -lm
-lm -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc
-lm -lc -lm -lm -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lm -lgcc_s -lgcc -lc
-lgcc_s -lgcc -lm -lc -lpthread

Si esto ocurre, aplica el parche ltmain.patch 
(http://homepage.usask.ca/~aco907/ltmain.patch) a cada módulo usando este 
comando en el directorio de cada módulo:

  patch -p0 -i ../ltmain.patch

Este comando no logrará bajar el tiempo de compilación a los niveles que
tendría con solamente un gcc instalado, pero el proceso mejorará bastante.

El guión de configuración de kdemultimedia falla al habilitar las librerías
de cdparanoia porque falta un parámetro de enlazado. Para arreglarlo,
ejecuta esto en el directorio de kdemultimedia antes de configurarlo:

  cp configure configure.old
  sed 's/-lcdda_interface/-lcdda_interface -lm/' configure.old > configure


----------------------------


Instalando KDE 2.2.2 (¡finalmente!)

Instalar los paquetes de KDE es sencillo. Primero instala kdelibs, luego
kdebase. El resto puede hacerse en cualquier orden. Compila cada uno de los
paquetes usando estos comandos:

  ./configure --prefix=/usr/local/kde2 --disable-debug --enable-objprelink \
--enable-final &&
  make &&
  make install

Quita --enable-objprelink si no estás preenlazando. Usamos --enable-final 
porque tiende a acortar los tiempos de compilación entre un 30-40%.
Todos los pquetes opcionales que isntalaste serán detectados automáticamente por
el guión de configuración.


Si deseas el KOffice preenlazado, vas a necesitar el parche
kde-admin-acinclude.patch que lo puedes obtener de la página de objprelink.
También necesitarás usar el autoconf 2.13 y el automake 1.4-p5 - versiones
más recientes de autoconf y de automake NO funcionarán.

Si no estás preenlazando el KOffice, puedes ignoras los primeros dos comandos
de las instrucciones que siguen:

Instala KOffice con lois siguentes comandos:

  patch -p0 -i ../kde-admin-acinclude.patch &&
  make -f Makefile.cvs &&
  ./configure --prefix=/usr/local/kde2 --disable-debug --enable-objprelink \
--enable-final &&
  make &&
  make install


Ahora agrega "exec startkde" en to ~/.xinitrc.

  echo "exec startkde" >> ~/.xinitrc

Y lánzalo ejecutando "startx". Configúralo a tu gusto, pero verifica la
siguiente rareza: si despues de habilitar el suavizado de fuentes en el
centro de control, los programas iniciados por kicker (el panel donde reside 
el menú K/la barra de tareas/la bandeja del sistema) siguen sin tener sus
fuentes suavizadas, sal de KDE y abre con un editor el guión startkde (se
encuentra en el KDEDIR/bin), vé a la línea cerca del final:

  LD_BIND_NOW=true kdeinit +kcminit +knotify

borra el LD_BIND_NOW=true, quedará como

  kdeinit +kcminit +knotify

y reinicia el KDE. Esto debería arreglar el problema sin ralentizar las cosas.


Como referencia, estos fueron los tiempos que tadré en compilar los paquetes del
KDE2 en un Pentium 2 400MHz con 256 MB de RAM, solamente con gcc 2.95.3 
instalado:

kdeaddons:      6 min
kdeadmin:       7 min
kdeartwork:     2 min
kdebase:        82 min
kdegames:       21 min
kdegraphics:    11 min
kdelibs:        55 min
kdemultimedia:  31 min
kdenetwork:     27 min
kdepim:         9 min
kdeutils:       18 min
kdetoys:        4 min
kdoc:           1 min