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.

Configurez JHBuild dans le nouveau compte gnomedev. Copiez ou créez un lien symbolique pour ~/.jhbuildrc et ~/.local/bin/jhbuild dans le dossier personnel de gnomedev.

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

There are two different methods to run JHBuild GNOME:

  1. Dans une fenêtre (recommandé).
  2. Par le gestionnaire d'affichage.

III.III.I. Configuration de GNOME en mode « fenêtre »

Compilez et installez GNOME JHBuild.

Installez l'application Xephyr. Avec Fedora, le paquet système s'appelle xorg-x11-server-Xephyr. Avec Ubuntu et Debian, le paquet système s'appelle xserver-xephyr.

Testez que Xephyr fonctionne :

$Xephyr -ac -screen 800x600 :1 2> /dev/null &

Si tout marche bien, une fenêtre avec un fond noir apparaît. Fermez la fenêtre Xephyr.

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 ~/.local/bin/gnome-jhbuild-xephyr-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 ~/.local/bin/gnome-jhbuild-xephyr-session :

$chmod u+x ~/.local/bin/gnome-jhbuild-xephyr-session

III.III.II. Lancement de GNOME en mode « fenêtre »

Ouvrez un terminal en tant qu'utilisateur gnomedev.

Exécutez Xephyr :

#Xephyr -ac -screen 800x600 :1 2> /dev/null &

Définissez la variable d'environnement DISPLAY :

#export DISPLAY=:1

Lancez GNOME :

#gnome-jhbuild-xephyr-session

Si tout fonctionne correctement, GNOME JHBuild s'affiche dans la fenêtre Xephyr. Dans le cas contraire, inspectez la sortie affichée dans le fenêtre du terminal.

III.III.III. 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.IV. Lancement de GNOME depuis le gestionnaire d'affichage

Pour lancer GNOME JHBuild, sélectionnez la session GNOME (JHBuild) dans l'écran de bienvenue du gestionnaire d'affichage, avant de saisir les informations de connexion du compte gnomedev. Si tout fonctionne correctement, GNOME JHBuild va apparaître. Sinon, inspectez le journal dans le fichier ~gnomedev/.xsession-errors.