Configuración e instalación de DeTraS

Obtener el paquete de fuentes

Puedes obtener la primera versión de DeTraS en la siguiente url:

http://gsyc.escet.urjc.es/~carlosgc/files/detras/detras-0.1.tar.gz

Este paquete contiene solo la parte cliente del sistema DeTraS.

Instalar dependencias

La parte cliente de DeTraS está formada por dos herramientas: TempusFugit y Squealer. Podrás elegir instalar solo una de ellas o ambas (aunque lo recomendable es instalar las dos). En función de ello tendrás que instalar las dependencias de una, otra o ambas.

TempusFugit

Squealer

/!\ Nota: Asegurate de instalar SOAPpy porque el configure no fallará si no lo encuentra (Estará solucionado en próximas versiones)

Configuración e instalación

Una vez descargado el paquete de fuentes e instaladas las dependencias se procede como con cualquier otro programa.

$ cd <directorio>
$ tar xvzf detras-0.1.tar.gz
$ cd detras

Antes de compilar es necesario hacer una pequeña configuración. Si vamos a querer enviar nuestras trazas al servidor y además queremos que nuestros datos personales sean enviados junto con las trazas debemos editar el fichero squealer/gconfig.py de la siguiente manera:

# Client Info
client_name = "Carlos Garcia Campos"
client_projects = ['GSyC', 'GNOME']

De forma similar, con tus propios datos (lógicamente no pongais los mios :-P)

Si simplemente no quieres que tus datos se envien al servidor o quieres que se haga de forma anónima, saltate este paso.

Ahora puedes seguir con la instalación de forma normal

$ ./configure --prefix=<prefix>
$ make
$ make install

Dependiendo del prefix elegido el make install tendrá que hacerse como root o no.

Configuraciones posteriores a la instalación

Hacer que TempusFugit se inicie siempre al inicio de la session

En el directorio utils tras la compilación se habrá creado un fichero llamado 80detras_tempusfugit-launch. Simplemente tenemos que copiarlo a /etc/X11/Xsession.d/

$ cd utils
# cp 80detras_tempusfugit-launch /etc/X11/Xsession.d/

/!\ Nota: Si vuelves a compilar utilizando un prefix distinto tendrás que volver a repetir este paso y copiar de nuevo el fichero. Sino, este paso no tendrás que volver a repetirlo en futuras instalaciones o actualizaciones.

Ahora es necesario habilitarlo, para lo cual simplemente edita el fichero /etc/X11/Xsession.options añadiendo al final una línea que contenga use-tempusfugit. Un ejemplo de este fichero tras la modificación podría ser:

# /etc/X11/Xsession.options
#
# configuration options for /etc/X11/Xsession
# See Xsession.options(5) for an explanation of the available options.
allow-failsafe
allow-user-resources
allow-user-xsession
use-ssh-agent
use-session-dbus
use-tempusfugit

De esta manera si en el futuro quieres deshabilitarlo no tienes que borrar el script 80detras_tempusfugit-launch sino simplemente comentar la línea use-tempusfugit del fichero /etc/X11/Xsession.options

Hacer que squealer envie mis trazas de forma automática cada dia

De nuevo en el directorio utils durante la compilación se ha creado un script llamado squealer. Simplemente copia este script a /etc/cron.daily/

$ cd utils
# cp squealer /etc/cron.daily/

/!\ Nota: Si vuelves a compilar utilizando un prefix distinto tendrás que volver a repetir este paso y copiar de nuevo el fichero. Sino, este paso no tendrás que volver a repetirlo en futuras instalaciones o actualizaciones.

Para que este script funcione es necesario indicarle cuales son los usuarios del sistema que usan TempusFugit y quieren enviar sus trazas al servidor. Para ello basta con crear el fichero /etc/squealer.conf con la siguiente información:

USERS="carlos"

Donde carlos debdería ser el login del usuario. Para indicar mas de un usuario bastaría con separalos por un espacio.

De esta manera si en un futuro quieres deshabilitarlo no es necesario borrar el script sino simplemente borrar el fichero /etc/squealer.conf o modificarlo eliminado el usuario en cuestión de la lista.

FAQ

Quiero arrancar yo el TempusFugit cuando yo quiera, no de forma automática

Simplemente no realices el paso donde se copia el fichero 80detras_tempusfugit-launch a /etc/X11/Xsession.d/ o edita el fichero /etc/X11/Xsession.options comentando la línea use-tempusfugit. Cuando quieras ejecutar tempusfugit.

$ tempusfugit &

Si no quieres que se ejecute en segundo plano simplemente quita el &. Si quieres ejecutarlo en modo verbose usa el argumento -v.

Como se si el TempusFugit está ejecutando o no?

Puedes consultar los datos que va trazando en el fichero ~/.detras/tempusfugit.xml. Si lo que quieres es información constante puedes añadir el TempusFugit Applet a tu panel, siempre y cuando estes utilizando GNOME y hayas compilado con soporte para el applet de GNOME.

Quiero controlar totalmente la ejecuación de TempusFugit arrancarlo y pararlo cuando quiera

Para ver como arrancar TempusFugit acude a la pregunta Quiero arrancar yo el TempusFugit cuando yo quiera, no de forma automática. Para paralo, si lo ejecutaste en primer plano simplemente usa CTRL + C, si lo ejecutaste en segunda plano mandale una señal SIGTERM:

$ killall tempusfugit

/!\ OJO: la señal es SIGTERM, no SIGKILL. Si le mandas un kill -9 mataras el proceso, pero no terminará de forma ordenada

También es posible controlar el tempusfugit desde el applet, y es la forma recomendable de hacerlo. Para ello debes añadir el applet a tu panel, siempre y cuando estes utilizando GNOME y hayas compilado con soporte para el applet de GNOME. Tienes una demo de como funciona el applet:

http://gsyc.escet.urjc.es/~carlosgc/files/tf-applet.gif

Quiero instalar TempusFugit para analizar mis propios datos, pero no quiero que se envien bajo ningun concepto a ningún servidor

Simplemente quita el soporte de squealer durante la compilación:

$ ./configure --prefix=<prefix> --disble-squealer
$ make
$ make install

De esta forma squealer no será instalado y tus datos estarán a salvo.

Quiero que mis datos se envien al servidor, pero solo cuando yo quiera, no de forma automatica

En primer lugar no copies el script squealer a /etc/cron.daily o edita el fichero /etc/squealer.conf. Si has compilado con soporte de squealer podrás ejecutar a mano cuando quieras y tu datos se enviarán a las servidor. No requiere de ningún argumento, simplemente ejecutas:

$ squealer

Olvidé rellenar mis datos en el fichero de configuación de squealer

Repite el paso donde se modifica el fichero gconfig.py y vuelve a ejecutar make && make install en el directorio squealer

Como puedo saber que squealer está enviando los datos correctamente?

Si squealer falla cron evinará un correo a tu cuenta de usuario local indicando que squealer a fallado.

Cada vez que squealer envia los datos genera un fichero comprimido con los datos que ha enviado en el directorio ~/.detras y limpia el fichero ~/.detras/tempusfugit.xml. Si no tienes ningún fichero del tipo:

200608031035-tempusfugit.xml.bz2

en el directorio ~/.detras es que squealer no ha enviado datos. Deberías tener uno nuevo cada día, mira la fecha de creación de los ficheros, si algún dia no se crea es porque algo ha fallado.

He copiado el script de cron de squealer al directorio /etc/cron.daily, pero squealer no se está ejecutando diariamente

Comprueba que tienes instalado el paquete anacron en tu sistema. Si no lo tienes simplemente instalalo.

He utilizado un prefix que no es /usr y no me aparece el applet de TempusFugit en la lista de applets de mi panel

Por defecto bonobo activation server busca los ficheros .server en el directorio /usr/lib/bonobo/servers, por lo que si has instalado en otra ruta el .server del applert no lo encontrará. Hay varias formas de solucionar esto:

BONOBO_ACTIVATION_PATH=/usr/lib/bonobo/servers:/usr/local/lib/bonobo/servers

# ln -s /usr/local/lib/bonobo/servers/GNOME_TfApplet.server /usr/lib/bonobo/servers/GNOME_TfApplet.server

Por qué el applet aparece con el icono del GWeather en la lista de applets del panel?

Sencillamente porque no tengo icono para el applet y si no indicas uno en el .server el panel no lo añade a la lista. Escogí el del GWeather al azar, no tiene ninguna otra explicación.

Por qué el applet utiliza los iconos de yes y no de GTK+?

Pues porque no se hacer iconos y son los primeros que se me ocurrieron. No son muy aconsejables por temas de accesibilidad (solo cambia de color, no cambia lo forma o al silueta) pero de momento valen. Si alguien se anima a hacer iconos serán mas que bienvenidos

Yo uso KDE y quiero añadir el applet a mi panel

Actualmente solo está disponible el applet para GNOME. Yo personalmente no voy a escribir un applet para KDE, pero es realmente sencillo. Dentro del directorio tempusfugit/applet/common hay una pequeña librería que ya implementa la lógica del applet. El API es tan sencillo como:

typedef enum {
        TF_DAEMON_UNKNOWN,
        TF_DAEMON_RUNNING,
        TF_DAEMON_STOPPED
} TfDaemonStatus;

TfDaemonStatus tf_daemon_get_status (void);
void                     tf_daemon_start         (void);
void                     tf_daemon_stop          (void);

Basta con crear un directorio tempusfugit/applet/kde y meter ahí el código del applet para kde. Este applet podrá linkar de forma estática con la librería en common de forma que tan solo es necesario implementar el código espécifico de kde.

Algo ha fallado, tengo una pregunta que no está en esta página, quiero reportar un bug o proporcionar cualquier tipo de feedback, mi perro se ha comido mi práctica de Zope

Carlos Garcia Campos:

DeTraS (last edited 2009-04-20 09:52:52 by localhost)