So verwenden Sie einen benutzerdefinierten Fenstermanager mit der GNOME Classic-Sitzung in 11.10
Beispielhaft mit dem Sawfish Window Manager (sorry, ich benutze kein Xmonad).
1. Fix gnome-classic.session
Es scheint
einen Fehler
in gnome-classic.session zu geben. So beheben Sie das Problem:
Bearbeiten Sie die Systemdatei /usr/share/gnome-session/sessions/gnome-classic.session direkt oder erstellen Sie eine Kopie in Ihrem Home-Verzeichnis:
mkdir ~/.config/gnome-session/sessions
cp -ai /usr/share/gnome-session/sessions/gnome-classic.session ~/.config/gnome-session/sessions/
Nehmen Sie diese Änderung vor:
[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. Alternative 1: Setzen Sie WINDOW_MANAGER in ~ / .gnomerc
2.1.a. Erstellen / bearbeiten Sie ~ / .gnomerc und fügen Sie Folgendes hinzu:
export WINDOW_MANAGER=sawfish
Ersetzen Sie in diesem Beispiel "Sägefisch" durch den Fenstermanager, den Sie verwenden möchten. Wenn Sie sich jetzt mit der Sitzung "GNOME Classic" anmelden, erhalten Sie den von Ihnen ausgewählten Fenstermanager.
2.1.b. Schnellerer Start:
Wenn beim Anmelden mit der oben genannten Lösung eine Verzögerung von 30 Sekunden auftritt, wird dies durch Folgendes behoben (dies kann nur ein Sägefischproblem sein).
Erstellen Sie ein Startskript, z. B. ~ / bin / my-gnome-wm:
#!/bin/bash
sawfish &
Machen Sie es ausführbar:
chmod u+x ~/bin/my-gnome-wm
Ändern Sie ~ / .gnomerc in:
export WINDOW_MANAGER="$HOME/bin/my-gnome-wm"
2.2. Alternative 2: Verwenden Sie sawfish.desktop
2.2.a. Bearbeiten Sie gnome-classic.session erneut:
[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
Ersetzen Sie in diesem Beispiel "Sägefisch" durch den Fenstermanager, den Sie verwenden möchten. Dazu muss eine Datei wie "sawfish.desktop" am richtigen Speicherort installiert sein, z. B. /usr/share/applications/sawfish.desktop.
2.2.b. Schnellerer Start:
Wenn beim Anmelden mit der oben genannten Lösung eine Verzögerung von 30 Sekunden auftritt, wird dies durch Folgendes behoben (dies kann nur ein Sägefischproblem sein).
Bearbeiten Sie die Systemdatei /usr/share/applications/sawfish.desktop direkt oder erstellen Sie eine Kopie in Ihrem Home-Verzeichnis:
mkdir ~/.local/share/applications
cp -ai /usr/share/applications/sawfish.desktop ~/.local/share/applications/
Nehmen Sie diese Änderung vor:
[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
Anmerkungen
Mit DefaultProvider-windowmanager = gnome-wm und ohne WINDOW_MANAGER in .gnomerc zu setzen, scheinen sowohl Unity als auch GNOME Classic gleichzeitig übereinander zu liegen!
Dieser Eintrag in ~ / .xsession-error sagt wahrscheinlich etwas darüber aus, warum es eine Verzögerung von 30 Sekunden gibt:
gnome-session[23870]: WARNING: Application 'gnome-wm.desktop' failed to register before timeout
Warum das my-gnome-wm-Skript erstellen? Weil das nicht zu funktionieren scheint:
export WINDOW_MANAGER='/usr/bin/sawfish&'
Dies gilt auch nicht:
export WINDOW_MANAGER='bash -c "/usr/bin/sawfish&"'
Eine schnelle Lösung: Melden Sie sich an und führen Sie sie aus
killall metacity & xmonad
.Es scheint zu funktionieren, obwohl ich zeitweise Probleme mit Tastatur und Maus habe, die möglicherweise mit dieser Lösung zusammenhängen oder nicht.
Da dies funktioniert, könnte man meinen, ich könnte den Fenstermanagerwert in /usr/share/gnome-session/sessions/gnome-classic.session einfach austauschen, aber wenn ich den Wert ändere, passiert nichts.
quelle
Für neuere Ubuntu-Versionen (z. B. 15.04) ist dieses Repository verfügbar. So installieren Sie die benötigten Dateien:
Für Ubuntu 12.04 funktioniert es fast "out of the box" - Sie müssen das Gnome-Panel manuell installieren:
Anschließend können Sie sich mit der Sitzung "GNOME with Xmonad" über den Anmeldebildschirm anmelden.
(Quelle: http://www.haskell.org/haskellwiki/Xmonad/Using_xmonad_in_Gnome#Ubuntu_Precise )
quelle