Je n'ai pas de chance de faire fonctionner XMonad dans 11.10 (x64, nouvelle installation) avec une session de secours gnome. J'ai essayé d'adapter les instructions de
http://markhansen.co.nz/xmonad-ubuntu-lucid/
et
http://markhansen.co.nz/xmonad-ubuntu-oneiric/
mais sans chance. Si quelqu'un a des idées, j'aimerais les entendre.
Une solution rapide: connectez-vous, puis exécutez killall metacity & xmonad
.
Cela semble fonctionner, même si je rencontre des problèmes intermittents de clavier et de souris qui peuvent ou non être liés à cette solution.
De plus, étant donné que cela fonctionne, vous pourriez penser que je pourrais simplement échanger la valeur du gestionnaire de fenêtres dans /usr/share/gnome-session/sessions/gnome-classic.session, mais rien ne se produit lorsque je change la valeur.
Illustré avec le gestionnaire de fenêtres sawfish (désolé, je n’utilise pas xmonad).
Il semble y avoir n bogue dans gnome-classic.session. Voici comment y remédier:
Editez le fichier système /usr/share/gnome-session/sessions/gnome-classic.session directement ou faites-en une copie dans votre répertoire personnel:
mkdir ~/.config/gnome-session/sessions
cp -ai /usr/share/gnome-session/sessions/gnome-classic.session ~/.config/gnome-session/sessions/
Faites ce changement:
[GNOME Session]
Name=GNOME Classic
RequiredComponents=gnome-panel;gnome-settings-daemon;
-RequiredProviders=windowmanager;notifications;
+RequiredProviders=windowmanager;
DefaultProvider-windowmanager=gnome-wm
DefaultProvider-notifications=notify-osd
IsRunnableHelper=/usr/lib/gnome-session/gnome-session-check-accelerated
FallbackSession=gnome-fallback
DesktopName=GNOME
2.1.a. Créez/éditez ~/.gnomerc et ajoutez ceci:
export WINDOW_MANAGER=sawfish
Dans cet exemple, remplacez "sawfish" par le gestionnaire de fenêtres que vous souhaitez utiliser. Si vous vous connectez maintenant avec la session "GNOME Classic", vous aurez le gestionnaire de fenêtres que vous avez choisi.
2.1.b. Démarrage plus rapide:
Si vous rencontrez un délai de 30 secondes lors de la connexion avec la solution ci-dessus, les solutions suivantes résoudront ce problème (il peut s'agir simplement d'un problème de poisson-scie).
Créez un script de démarrage, par exemple ~/bin/my-gnome-wm:
#!/bin/bash
sawfish &
Rendez-le exécutable:
chmod u+x ~/bin/my-gnome-wm
Changez ~/.gnomerc en ceci:
export WINDOW_MANAGER="$HOME/bin/my-gnome-wm"
2.2.a. Editez à nouveau gnome-classic.session:
[GNOME Session]
Name=GNOME Classic
RequiredComponents=gnome-panel;gnome-settings-daemon;
RequiredProviders=windowmanager;
-DefaultProvider-windowmanager=gnome-wm
+DefaultProvider-windowmanager=sawfish
DefaultProvider-notifications=notify-osd
IsRunnableHelper=/usr/lib/gnome-session/gnome-session-check-accelerated
FallbackSession=gnome-fallback
DesktopName=GNOME
Dans cet exemple, remplacez "sawfish" par le gestionnaire de fenêtres que vous souhaitez utiliser. Cela nécessite l’installation d’un fichier du type "sawfish.desktop" à l’emplacement correct, par exemple. /usr/share/applications/sawfish.desktop.
2.2.b. Démarrage plus rapide:
Si vous rencontrez un délai de 30 secondes lors de la connexion avec la solution ci-dessus, les solutions suivantes résoudront ce problème (il peut s'agir simplement d'un problème de poisson-scie).
Editez le fichier système /usr/share/applications/sawfish.desktop directement ou faites-en une copie dans votre répertoire personnel:
mkdir ~/.local/share/applications
cp -ai /usr/share/applications/sawfish.desktop ~/.local/share/applications/
Faites ce changement:
[Desktop Entry]
Name=Sawfish
Name[el]=Ðñéïíüøáñï (Sawfish)
Type=Application
-Exec=sawfish
+Exec=bash -c 'sawfish&'
TryExec=sawfish
Terminal=false
NoDisplay=true
X-GNOME-WMName=Sawfish
X-GNOME-Autostart-Phase=WindowManager
X-GNOME-Provides=windowmanager
X-GNOME-Autostart-Notify=true
Avec DefaultProvider-windowmanager = gnome-wm et sans définir WINDOW_MANAGER dans .gnomerc, nous semblons avoir à la fois Unity et GNOME Classic l'un sur l'autre!
Cette entrée dans ~/.xsession-errors explique probablement pourquoi il y a un délai de 30 secondes:
gnome-session[23870]: WARNING: Application 'gnome-wm.desktop' failed to register before timeout
Pourquoi créer le script my-gnome-wm? Parce que cela ne semble pas fonctionner:
export WINDOW_MANAGER='/usr/bin/sawfish&'
Ceci non plus:
export WINDOW_MANAGER='bash -c "/usr/bin/sawfish&"'
Pour les versions plus récentes d'Ubuntu (par exemple 15.04), le référentiel this est disponible. Pour installer les fichiers nécessaires:
Sudo add-apt-repository ppa:gekkio/xmonad
Sudo apt-get update
Sudo apt-get install gnome-session-xmonad
Pour Ubuntu 12.04, cela fonctionne presque "out of the box" - vous devez installer le panneau gnome manuellement:
Sudo apt-get install gnome-panel
et vous pouvez ensuite vous connecter en utilisant la session "GNOME avec Xmonad" à partir de l'écran de connexion.
(source: http://www.haskell.org/haskellwiki/Xmonad/Using_xmonad_in_Gnome#Ubuntu_Precise )