MEJORANDO EL TIEMPO DE STARTUP DE KDE 3.2 (ARRANQUE)

OBJETIVO: Lograr que el desktop kde mejore el tiempo de startup. LLamemos startup, al tiempo que usa kde para arrancar desde que se aprieta Enter en el display manager (dm),hasta que ya esta todo el desktop cargado.

INTRODUCCIÓN:

Conceptos básicos

Que es un script?

Un script, es un pequeño programa escrito con comandos de shell linux (ls, ps, df) que nos permiten automatizar tareas, si bien esta no es la definición exacta de un script, nos bastara para entender la idea de este articulo.


Y que pasa con esto de los script?

Kde, para inicializarse utiliza un script, que no es mas que una lista de comandos y decisiones que se ejecutan a la hora de arrancar este desktop. Nosotros lo que vamos a hacer sera modificar este script de arranque de kde, para que tome un par menos de decisiones, y asuma algunas cosas como ciertas, sin necesidad de consultarlas, lo que reducirá ciertamente el tiempo de startup.

Donde esta el script de arranque de Kde?

El script de arranque de kde esta en /usr/bin, bajo el nombre de startkde, lo que quedaría como ruta completa /usr/bin/starkde, este es el archivo que vamos a modificar.

A tener en cuenta...

No tenemos que olvidarnos, que al retocar este script, para que sea mas corto, estamos eliminando alguna de las funcionalidades de kde, por supuesto ninguna de las funcionalidades importantes, a lo sumo lograremos que kde no arranque otra vez, pero fuera de eso, nada mas ;=)... no, no se asusten, siempre esta la posibilidad de volver todo atrás y dejarlo tal cual estaba en un principio.


EMPEZAMOS?

1 - Primer paso (respaldando el archivo a modificar)

Inicialmente, haremos una copia de seguridad del archivo que vamos a modificar, por si acaso algo sale mal volveremos todo atrás, es de saber, que lo una de las cosas mas importantes en la informática es la seguridad de datos, ya que sin los datos, no nos sirve el disco rígido, ni la pc en gral ;=).

Movemos el archivo original a nuestro home (como superusuario):

[jago@zeus jago]$ su
Password: ********** (nuestro password de root)
[root@zeus home]$ mv -i /usr/bin/startkde $HOME

Lista nuestra copia de seguridad, sigamos...

2- Segundo paso (modificando o reemplazando el script)

Para modificar el archivo de inicio de kde, vamos a utilizar el editor de texto que prefieran, en mi caso, voy a utilizar Vim (solo por si les interesa saber a los fanáticos de emacs...).


Escribimos (como root):
[jago@zeus jago]$ su
Password: ********** (su contraseña del root)
Creamos el archivo
[jago@zeus jago]$ vim /usr/bin/startkde


En caso que no usen vim, deberían abrir por ejemplo un kate, o kwrite y copiar ahí este código, luego guardarlo en /usr/bin con el nombre startkde, siempre como root, inclusive la apertura del kate o kwrite, sino, no nos va a dejar guardar
el archivo en /usr/bin

y copiamos el siguiente código:

##----- INICIO CÓDIGO -----##


#!/bin/sh
#Script modificado para el inicio de kde

rm -f ~/.DCOPserver_zeus_:0 #El Dcop que a ustedes les corresponda
rm -f ~/.DCOPserver_zeus__0 #Lo mismo
rm -f ~/.ICEauthority

trap 'echo GOT SIGHUP' HUP

unset DYLD_FORCE_FLAT_NAMESPACE

kdehome=$HOME/.kde
test -n "$KDEHOME" && kdehome=`echo "$KDEHOME"|sed "s,^\~/,$HOME/,"`

[ ! -d $kdehome/share/config ] && mkdir -p $kdehome/share/config

if [ "`whoami`" = root ] ; then
cd /usr/share/mdk/kde/root-interface/
for i in *; do
if [ ! -e /root/.kde/share/config/$i ]; then
cp -fr $i /root/.kde/share/config/
fi
done
cd -
else

if [ $(grep "META_CLASS=desktop" /etc/sysconfig/system) ]; then
if [ ! -e $kdehome/Autostart/openkmenu.desktop ] && [ ! -e
$kdehome/Autostart/.openkmenu ]; then
[ ! -d $kdehome/Autostart ] && mkdir -p $kdehome/Autostart
cp /usr/share/mdk/kde/openkmenu.desktop $kdehome/Autostart/ && touch
$kdehome/Autostart/.openkmenu
else
rm -f $kdehome/Autostart/openkmenu.desktop
fi
fi

fi

export HELP_BROWSER="firefox"
export BROWSER="firefox"
export DESKTOP="kde"

/usr/bin/test-windows-key

lnusertemp tmp >/dev/null
lnusertemp socket >/dev/null
lnusertemp cache >/dev/null

dcopserver_shutdown

ksplash --nodcop

LD_BIND_NOW=true kdeinit +kcminit +knotify

kwrapper ksmserver $KDEWM #Solo esta linea inicializa KDE
#El resto, son algunos adornos necesarios

kdeinit_shutdown
dcopserver_shutdown
artsshell -q terminate


##------ FIN DE CÓDIGO --------##


KDE, NO ARRANCA DESPUÉS DEL CAMBIO DE SCRIPT!!!...

A no desesperar, no es gran cosa la que hay que hacer si kde no responde, solamente debemos volver el archivo original a su lugar y todo volverá a andar (lentoooooo) como antes ;=)

[root@zeus home]$ cp -f startkde /usr/bin

creo que eso es todo...
Solo nos queda reiniciar Kde y ver si realmente se nota algún cambio en la velocidad

Tengan en cuenta que cuando crean el archivo donde van a pegar este código se tiene que llamar "startkde" y que lo tienen que copiar a /usr/bin

NOTA:
No olviden que la idea es con fines didácticos, como siempre, así que en un próximo
articulo voy a explicar como podemos acelerar aun mas el tiempo de startup, de una manera mas "profesional" utilizando la herramienta xtoolwait, en el que voy a explicar paso por paso, para que y porque cambiamos determinadas lineas, y así lograremos un tiempo de startup de no mas de 6 segundos, teniendo en cuenta que la pc de prueba es un AMD 1.2Ghz con 512 de RAM DIMM pc133 con un HD de 7200 revoluciones.

Hasta la próxima....

Este articulo fue escrito utilizando vim
Corregido con Aspell
Formateado con Quanta
Esta permitido copiar, distribuir y/o modificar este articulo bajo los terminos de GNU Free documentacion License


Saludos
Fernando Ferrari
fernandorferrari@yahoo.com.ar