Alban’s blog

September 23, 2007

Tester Telepathy sans être root

Filed under: Uncategorized — alban @ 10:42 pm

En règle générale sous GNU/Linux, il est tout à fait possible de compiler et de tester des logiciels sans être root. Il suffit pour cela de les compiler avec:

./configure –prefix=$HOME/prefix –datadir=$HOME/prefix/share

Dans le cas des logiciels Telepathy, il y a une difficulté supplémentaire car ils utilisent D-Bus. Il faut alors:

  1. Isoler la session de test des autres logiciels utilisant D-Bus
  2. Configurer D-Bus pour pour que l’activation automatique de D-Bus recherche les services dans le bon répertoire.

Isoler la session D-Bus est utile si vous utilisez un logiciel comme dbus-viewer ou kdbus pour observer les connexion, objets, interfaces, méthodes et signaux créés sur la session D-Bus. Cela vous évite d’être inondé d’informations de tous les logiciels qui utilisent D-Bus. De plus, vous pouvez utiliser en même temps une version stable de Telepathy et ne pas perturber vos conversations normales avec vos tests.

Créez un fichier session-telepathy.conf en prenant modèle sur /etc/dbus-1/session.conf. La seule modification à faire est la suivante:

-  <standard_session_servicedirs /> +  <servicedir>/home/user/prefix/share/dbus-1/services</servicedir>

Dans une console, lancez une nouvelle session D-Bus avec la commande:

$ dbus-daemon --config-file=session-telepathy.conf --print-address unix:abstract=/tmp/dbus-mE8IBzoPYU,guid=6776297e41bc1480b92b770046f6c187

Avant de lancer vos logiciels, affectez à la variable d’environnement DBUS_SESSION_BUS_ADDRESS la valeur indiquée par dbus-daemon afin de lancer vos logiciels sur la bonne session D-Bus:

export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-mE8IBzoPYU,guid=6776297e41bc1480b92b770046f6c187

Vous n’avez rien oublié? Hé si, il manque encore ceci:

export XDG_DATA_DIRS=$HOME/prefix/share/:/usr/share/

comme expliqué sur la page XDG Base Directory Specification. C’est utile pour trouver la liste des connection managers installés. Si vous ne le faites pas, cette liste sera recherchée dans les répertoires définis sur cette page. Il faut le faire sur la console où vous lancez vos applications, mais il peut être aussi nécessaire de le faire sur la console où tourne dbus-daemon car il peut lancer lui même des applications qui récupéreront ainsi la variable d’environnement par héritage.

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress