JHBuild et GNOME

Cette section fournit des indications sur la compilation, l'installation et le fonctionnement de GNOME.

III.I. Construction de GNOME

Pour compiler GNOME, certains paquets de développement sont nécessaires, notamment :

  • La DTD DocBook XML et les feuilles de styles XSLT. Elles doivent être enregistrées dans le catalogue XML (/etc/xml/catalog).

  • Les bibliothèques X

  • libsmbclient de Samba (utilisé pour parcourir les réseaux Windows).

  • libbz2 de bzip2.

  • libpng, libjpeg et libtiff (utilisés pour le chargement d'images).

Si vous installez des paquets de votre distribution et si cela s'applique à votre distribution, installez les paquets « dev » ou « devel » correspondants. Une liste de noms de paquets de différentes distributions est disponible sur le wiki de GNOME.

III.II. Lancement d'une application GNOME unique

Cette section décrit comment lancer une seule application GNOME. L'application se lance dans l'environnement de bureau actuel. Pour lancer une application dans le contexte d'un GNOME JHBuild complet, consultez Section III.III ― Lancement de l'environnement de bureau GNOME.

Exécutez un shell JHBuild. Ce shell dispose de toutes les variables d'environnement nécessaires déjà configurées.

$ jhbuild shell

Vérifiez que la bonne application va être lancée. Par exemple :

$ which gedit
/opt/gnome/bin/gedit

lancez l'application :

$ gedit &

Il est aussi possible de lancer l'application en utilisant la commande run :

$ jhbuild run gedit

III.III. Lancement de l'environnement de bureau GNOME

Créez un nouveau compte utilisateur pour faire fonctionner le GNOME JHBuild. Il est recommandé d'utiliser un compte utilisateur différent pour GNOME JHBuild, afin d'éviter des problèmes liés aux paramètres utilisateur stockés dans le dossier personnel. Ce manuel fait référence à ce nouveau compte par le nom gnomedev.

Setup JHBuild on the new gnomedev account. Copy or soft-link ~/.config/jhbuildrc and ~/.local/bin/jhbuild to gnomedev home directory.

Ouvrez un terminal en tant qu'utilisateur gnomedev. Ajoutez ~/.local/bin de façon permanente à la variable PATH en exécutant la commande suivante :

$ echo PATH=$PATH:~/.local/bin >> ~/.bashrc

Testez que JHBuild fonctionne :

$ jhbuild run pkg-config gtk+-2.0 --modversion
2.20.1

III.III.I. Configuration de GNOME en mode « gestionnaire d'affichage »

Compilez et installez GNOME JHBuild.

Activez les services système. GNOME JHBuild utilise le démon D-Bus système /usr/bin et les services système dans /usr/share/dbus-1/system-services/. GNOME JHBuild utilise le démon D-Bus de session et les services dans /opt/gnome/share/dbus-1/services/. Remplacez /opt/gnome par le préfixe d'installation de GNOME dans la commande ci-après :

$ rm -rf /opt/gnome/var/run/dbus
$ ln -s /var/run/dbus /opt/gnome/var/run/dbus
$ rm -rf /opt/gnome/var/lib/dbus/machine-id
$ ln -s /var/lib/dbus/machine-id /opt/gnome/var/lib/dbus/machine-id

Créez un script de démarrage GNOME dans /usr/bin/gnome-jhbuild-session contenant le texte suivant, en remplaçant /opt/gnome par le préfixe d'installation de GNOME :

#!/bin/sh

GNOME=/opt/gnome
 
GDK_USE_XFT=1
XDG_DATA_DIRS=$XDG_DATA_DIRS:$GNOME/share
XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:$GNOME/etc/xdg

jhbuild run gnome-session

Rendez exécutable le fichier /usr/bin/gnome-jhbuild-session :

$ chmod a+x /usr/bin/gnome-jhbuild-session

Pour ajouter une nouvelle entrée de session dans le gestionnaire d'affichage, créez le fichier /usr/share/xsessions/gnome-jhbuild.desktop avec un contenu semblable à ceci :

[Desktop Entry]
Name=GNOME (JHBuild)
Comment=Cette session vous connecte dans une session GNOME de test
Exec=/usr/bin/gnome-jhbuild-session
Icon=
Type=Application

Redémarrez gdm.

III.III.II. Lancement de GNOME depuis le gestionnaire d'affichage

To run the JHBuild GNOME, select the GNOME (JHBuild) session at the display manager before entering gnomedev login credentials. If successful, JHBuild GNOME will be displayed. If unsuccessful, check the log file. The log file will be located at ~gnomedev/.cache/gdm/session.log or ~gnomedev/.xsession-errors.