GNOME-Shell aus dem Quellcode erstellen
(Letzte Aktualisierung des Inhalts: 11. Feb. 2011, basierend auf dem offiziellen Leitfaden , können Sie ihn jederzeit bearbeiten.)
0. Warnungen / Fehler beim Übersetzen
GNOME Shell befindet sich in einer intensiven Entwicklung und die Quellen werden häufig mehrmals am Tag aktualisiert. Während die folgenden Anweisungen im Allgemeinen funktionieren sollten, kann es vorkommen, dass eine erfolgreiche Kompilierung einige Hacks benötigt oder überhaupt nicht möglich ist.
Wenn Sie auf Probleme stoßen, überprüfen Sie:
Aktuelle Probleme:
Es ist erforderlich, einige Dateien in den Bibliotheksverzeichnissen zu entfernen, da sonst die Kompilierung fehlschlägt. Bei Systemaktualisierungen können diese Dateien zurückgegeben werden. Lesen Sie hier, warum diese Dateien entfernt werden müssen und wie Sie verhindern können, dass Aktualisierungen erneut installiert werden.
sudo rm -rf /usr/lib*/*.la
(Keine Sorge, das schadet Ihrem System nicht!)
Bevor Sie GNOME Shell ausführen können, müssen Sie nach dem Erstellungsprozess eine Datei entfernen:
rm ~/gnome-shell/install/lib*/gtk-3.0/modules/libcanberra-gtk-module.so
1. GNOME-Shell erstellen
(Getestet auf Ubuntu 10.10 32-Bit und der Entwicklungsversion von Ubuntu 11.04 64-Bit.)
Das Folgende wird GNOME Shell auf sandboxartige Weise herunterladen, kompilieren und installieren - das heißt, es wird den Rest Ihres Systems nicht berühren!
Abhängigkeiten installieren:
sudo apt-get install curl dpkg-dev autopoint libedataserverui1.2-dev \
libecal1.2-dev evolution-data-server-dev libcups2-dev libupower-glib-dev \
libgnome-keyring-dev libxklavier-dev libvorbis-dev libltdl-dev \
libgstreamer0.10-dev libcroco3-dev xserver-xephyr xulrunner-dev \
python-dev libpam0g-dev mesa-utils mesa-common-dev libxml2-dev \
libreadline5-dev libpulse-dev liborbit2-dev libgl1-mesa-dev libwnck-dev \
libtiff4-dev libstartup-notification0-dev libpng12-dev libjpeg62-dev \
libjasper-dev libgtop2-dev libgnome-desktop-dev libgnome-menu-dev \
libffi-dev libexpat1-dev libdbus-glib-1-dev icon-naming-utils \
gtk-doc-tools gnome-common git-core gettext flex bison automake cvs
Holen Sie sich das Installationsskript von GNOME Shell:
curl -O https://git.gnome.org/browse/gnome-shell/plain/tools/build/gnome-shell-build-setup.sh
Erstellen Sie das Build-Tool jhbuild
und laden Sie die Konfigurationsdateien herunter:
/bin/bash gnome-shell-build-setup.sh
Dies installiert jhbuild
zu ~/bin
, mit dem Sie Ihre hinzufügen müssen PATH
-variable:
. ~/.profile
[Optional] : Sie können verschiedene jhbuild
Optionen wie den Pfad zum Herunterladen von Quellen usw. ändern , indem Sie die Datei bearbeiten ~/.jhbuildrc-custom
.
Starten Sie den Build-Prozess:
jhbuild build
Damit werden (derzeit) 33 Module zusammengestellt. Holen Sie sich eine Tasse Kaffee, machen Sie ein Nickerchen -> es wird einige Zeit dauern.
Sobald Sie sehen *** success *** [33/33]
, sind Sie fertig. Herzlichen Glückwunsch, Sie haben gerade die GNOME-Shell kompiliert!
2. GNOME Shell ausführen
Wenn Sie Compiz ausführen, müssen Sie es zuerst stoppen (indem Sie Metacity starten), sonst startet GNOME Shell nicht:
metacity --replace &
Führen Sie schließlich Folgendes aus:
cd ~/gnome-shell/source/gnome-shell/src
./gnome-shell --replace
Hoffentlich sollten Sie jetzt GNOME Shell ausführen.
3. GNOME Shell zum Standard-Fenstermanager machen
In Ubuntu 10.10 können Sie den Fenstermanager der GNOME-Sitzung einfach ersetzen, indem Sie einen GConf-Schlüssel ändern:
Erstellen Sie ein lokales Desktop-Startprogramm für GNOME Shell:
ln -s ~/gnome-shell/install/share/applications/gnome-shell.desktop ~/.local/share/applications/gnome-shell.desktop
Ändern Sie dann den Fenstermanager der Sitzung in GNOME Shell:
gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-shell" -t string
Führen Sie Folgendes aus, um die Änderung rückgängig zu machen:
gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-wm" -t string
In Ubuntu 11.04 scheint das Ändern der Windowmanager- Taste nicht zu funktionieren. Stattdessen können Sie ein neues Sitzungselement hinzufügen, das Sie auf dem GDM-Anmeldebildschirm auswählen können. Dazu müssen Sie wie oben beschrieben die lokale .desktop-Datei erstellen und anschließend zwei Dateien erstellen:
Eine Sitzungsdatei /usr/share/gnome-sessions/sessions/gnome-shell.session
:
[GNOME Session]
Name=gnome-shell
Required=windowmanager;
Required-windowmanager=gnome-shell
DefaultApps=gnome-settings-daemon;
Das Sitzungselement, das auf die Sitzungsdatei verweist /usr/share/xsessions/gnome-shell.desktop
:
[Desktop Entry]
Name=GNOME Shell
Comment=This session logs you into Ubuntu
Exec=gnome-session --session=gnome-shell
TryExec=gnome-session
Icon=
Type=Application
X-Ubuntu-Gettext-Domain=gnome-session-2.0
Melden Sie sich ab und Sie sollten GNOME Shell als Sitzung auswählen können .
4. Aktualisieren der GNOME-Shell
Laufen
jhbuild build
sollte die Quellen aktualisieren und neu erstellen, was notwendig ist.
Wenn es für ein Modul fehlschlägt, erhalten Sie z. B. Folgendes:
fatal: git-write-tree: error building trees
Cannot save the current index state
*** Error during phase checkout of gdk-pixbuf: ########## Error running git stash save jhbuild-stash *** [7/33]
Anschließend können Sie versuchen, das aktuelle Modulverzeichnis zu löschen und mit sauberen Quellen zu beginnen, indem Sie Option 6 auswählen:
[6] Go to phase "wipe directory and start over"
Wenn das nicht hilft, können Sie von vorne beginnen, indem Sie Folgendes ausführen:
jhbuild build -afc
Kompilieren Sie immer noch nicht? Dann überprüfen Sie die in 0 genannten Stellen.