Contenu | Rechercher | Menus
Selon les tags présents sur cette page, les informations qu'elle contient n'ont pas été vérifiées depuis Ubuntu 10.04 LTS.
Cette page est en cours de rédaction.
Apportez votre aide…

Comment faire cohabiter gnome-shell et gnome 2.30.

Ce tutoriel décrit une solution permettant de créer une session X dédiée au gnome-shell. Cela permet de garder la session gnome 2.3 "classique" en plus du gnome-shell : comme lorsque l'on choisit kde à la place de gnome!

Ce tutoriel s'adresse tout particulièrement aux utilisateurs désireux de faire de gnome-shell leur interface par défaut mais qui, en cas de bug, peuvent revenir à tout moment à la session d'origine sans rien avoir à modifier dans les applications au démarrage… (ou autre méthode pour lancer le gnome-shell).

La démarche expliquée ici est similaire à celle visant à avoir plusieurs gestionnaires de bureaux et en propose une extension dans le seul gestionnaire qu'est gnome.

Attention! Cette démarche fait intervenir des fichiers systèmes. Les risques sont modérés (juste ajout de nouveaux fichiers), cependant une erreur de manipulation pourrait poser des problèmes.

Installer le paquet gnome3-session et vous pourrez choisir "Gnome 3" dans GDM sans rien faire de plus

Pré-requis

Principe de la démarche

Si vous voulez vous passer d'explications allez directement à la section "ligne de commande" de ce tutoriel.

Rappels sur les "sessions"

On appelle ici une "session" un ensemble de choses qui sont plus ou moins solidaires et qui constituent a peu près ce qu'on nommerait l'interface (définition hasardeuse!) : Gnome, KDE sont par exemple des noms que l'on peut donner à une session. Chaque session a un gestionnaire de fenêtres défini, un ensemble de logiciels qui démarrent en même temps qu'elle…

Attention à ne pas confondre le mot session utilisé ici avec celui servant à désigner un compte utilisateur (sens utilisé sous windows notamment).

En pratique une session n'est qu'un script shell (un peu spécial) qui se situe dans le dossier /usr/share/xsessions. Si vous l'ouvrez avec gedit vous verrez qu'il n'y a pratiquement rien (en général)! La gestionnaire de connexion (le programme qui vous invite à donner vous login et mot de passe juste après le démarrage) se contente (presque) en fait de lancer un de ces scripts.

Attention à ne pas ouvrir avec nautilus une de ces fameuses sessions! Ouvrir ces fichiers .desktop "éxécute" simplement la session : vous aller vous retrouver avec un enchevêtrement de sessions!.

Voici par exemple la session par défaut de gnome :

[Desktop Entry]
Name=GNOME-SHELL
Comment=Vous démarrez avec le GNOME-SHELL
Exec=gnome-session
TryExec=gnome-session
Icon=
Type=Application
X-Ubuntu-Gettext-Domain=gnome-session-2.0

On remarque que la seule "réelle" commande est de lancer la "gnome-session". Ensuite c'est cette commande "gnome-session" qui s'occupe du reste.

Principe général et position du problème

Grâce à ce tutoriel, vous serez en mesure de créer une session supplémentaire qui lancera le gnome-shell! Comme on vient de le voir, pour lancer une session, il suffit presque d'une seule commande, commande qui se charge de lancer différents logiciels, gestionnaires de fenêtres…etc qui sont caractéristiques de chaque session. Ainsi l'utilisateur intelligent se demande en quoi un "problème" est mentionné dans le titre puisqu'il suffit de se faire une commande personnalisée qui lance le gnome-shell… Cependant ce problème existe vraiment : Dans le cas de KDE (par exemple), il suffit de créer un nouveau script qui lancera la session KDE. Cependant ici notre script lancera toujours une session gnome! Il faut donc trouver un moyen pour que le "gnome-session" "différencie" la session par défaut et la session que l'on va créer. La solution se trouve grâce à la puissance de gnome : "gnome-session" est capable de se doter de paramètres particuliers en fonction du nom de la session qui l'a lancé!

La démarche se constitue donc en deux étapes simples :

  • Créer une session gnome personnalisée
  • Ajuster les paramètres de la session gnome pour que gnome-shell devienne le gestionnaire de fenêtres par défaut.

Première étape : créer une session personnalisée

GDM

GDM (gnome display manager) est l'écran de connexion par défaut d'ubuntu, celui de gnome. Cette rubrique se destine donc à tous les utilisateurs ayant directement installé ubuntu ( et non kubuntu, xubuntu…) ou ayant choisi manuellement GDM comme écran de connexion.

De manière graphique avec nautilus et gedit

En ligne de commande

Ouvrez un terminal et exécutez les commandes suivantes :

cd /usr/share/xsessions
sudo cp gnome.desktop nom_de_votre_session.desktop

Deuxième étape : configurer cette session pour qu'elle devienne une session gnome-shell

Cette étape est des plus simples : il s'agit de lancer automatiquement au démarrage de notre session une commande qui lance le gnome-shell. La commande la plus simple reste encore :

gnome-shell --replace

Cette commande, bien que la plus simple pour lancer le gnome-shell, a ses défauts : compiz (ou autre) démarre puis est tué pour laisser la place à gnome-shell.

Une autre solution serait de modifier l'éditeur de configuration gconf mais qui s'avère un peu plus complexe. (En effet, Gnome-shell ne se limite pas à être une gestionnaire de fenêtres… contrairement à compiz, on ne peut donc pas se contenter de remplacer "compiz" par "gnome-shell" dans gconf!

Il faut donc que cette session gnome-shell ait cette commande en autostart. Pour ce faire, il suffit de créer un script shell contenant la commande désirée et le mettre dans le dossier /etc/xdg/xdg-<nom_de_votre_session>/autostart

Ouvrez gedit en mode administrateur (Applications/Accessoires/terminal et tapez "sudo gedit") et collez ce qui suit :

[Desktop Entry]
Type=Application
Name=GNOME Shell
Comment=Window management and application launching
Exec=/usr/bin/gnome-shell
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-shell
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=2.28.1
Categories=GNOME;GTK;Utility;Core;
OnlyShowIn=GNOME;
NoDisplay=true
X-GNOME-Autostart-Phase=WindowManager
X-GNOME-Provides=panel;windowmanager;
X-GNOME-Autostart-Notify=true
X-Ubuntu-Gettext-Domain=gnome-shell

Ensuite vous faites "fichier/enregistrer sous" et enregistrez ce fichier avec l'extension .desktop dans le dossier /etc/xdg/xdg-nom_de_votre_session/autostart

Si vous recherchez un moyen rapide de créer le fichier .desktop contenant la commande désirée, vous pouvez tout simplement le créer à l'aide des "applications au démarrage" (Système/Préférences/Applications au démarrage). Vous faites "ajouter", donnez le nom que vous voulez et tapez "gnome-shell -r" dans l'espace réservé à la commande. Ensuite un fichier tel que celui que vous recherchez apparaîtra dans : etc/xdg/autostart. Il ne reste plus qu'à faire un "couper-coller" dans le dossier qui nous intéresse. (Attention à bien couper et non copier!)

Voilà, c'est fini ! Il ne vous reste maintenant qu'à vous déconnecter (ou redémarrer) et choisir votre session gnome-shell! (en bas)


tutoriel/creer_une_session_dediee_au_gnome-shell.txt · Dernière modification: Le 19/10/2010, 13:59 par 88.173.79.242
Le contenu de ce wiki est sous licence : CC BY-SA v3.0