Построение оболочки GNOME из источника
(Последнее обновление контента: 11. февраль 2011 года, на основе официального руководства , не стесняйтесь редактировать.)
0. Предупреждения / ошибки во время компиляции
GNOME Shell находится в тяжелом развитии, и источники часто обновляются несколько раз в день. Хотя ниже инструкции обычно должны работать, может случиться так, что успешная компиляция нуждается в некоторых хаках или вообще не возможна.
Если у вас возникнут проблемы, проверьте:
Текущие проблемы:
-
Необходимо удалить пару файлов в каталогах библиотек, иначе компиляция завершится с ошибкой. При выполнении системных обновлений эти файлы могут возвращаться: прочитайте это для объяснения, почему необходимо удалить эти файлы и как предотвратить обновления для их повторной установки.
sudo rm -rf /usr/lib*/*.la
(Не беспокойтесь, это не повредит вашей системе!)
-
Перед тем, как запустить GNOME Shell, вам нужно удалить файл после процесса сборки:
rm ~/gnome-shell/install/lib*/gtk-3.0/modules/libcanberra-gtk-module.so
1. Построение оболочки GNOME
(Протестировано на Ubuntu 10.10 32-бит и версия для разработки Ubuntu 11.04 64-бит.)
Следующее будет загружать, компилировать и устанавливать GNOME Shell в виде песочницы, то есть он не будет касаться остальной части вашей системы!
-
Установить зависимости:
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
-
Получить скрипт установки GNOME Shell:
curl -O https://git.gnome.org/browse/gnome-shell/plain/tools/build/gnome-shell-build-setup.sh
-
Создайте инструмент сборки jhbuild
и загрузите файлы конфигурации:
/bin/bash gnome-shell-build-setup.sh
-
Это установит jhbuild
в ~/bin
, которое необходимо добавить в ваш PATH
-variable:
. ~/.profile
-
[Необязательно] . Вы можете изменить несколько% параметров co_de%, например путь для загрузки источников и т. д., отредактировав файл jhbuild
.
-
Запустите процесс сборки:
jhbuild build
Это будет (в настоящее время) скомпилировать 33 модуля. Возьмите чашку кофе, сделайте сон - > это займет некоторое время.
Как только вы увидите ~/.jhbuildrc-custom
, вы закончили. Поздравляем, вы только что скомпилировали GNOME Shell!
2. Запуск оболочки GNOME
-
Если вы используете Compiz, вам сначала нужно остановить его (путем запуска Metacity), иначе GNOME Shell не запустится:
metacity --replace &
-
Наконец, запустите:
cd ~/gnome-shell/source/gnome-shell/src
./gnome-shell --replace
Вот и все, вы, надеюсь, теперь должны запускать оболочку GNOME.
3. Создание оболочки GNOME для диспетчера окон по умолчанию
В Ubuntu 10.10 вы можете просто заменить диспетчер окон сессии GNOME с помощью клавиши GConf:
-
Создайте локальную панель запуска .desktop для оболочки GNOME:
ln -s ~/gnome-shell/install/share/applications/gnome-shell.desktop ~/.local/share/applications/gnome-shell.desktop
-
Затем измените диспетчер окон сессии на GNOME Shell:
gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-shell" -t string
-
Чтобы отменить изменение, запустите:
gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-wm" -t string
В Ubuntu 11.04 смена ключа windowmanager не работает. Вместо этого вы можете добавить новый элемент сеанса, который вы можете выбрать на экране входа GDM. Для этого вам необходимо создать локальный файл .desktop, как указано выше, а затем создать два файла:
-
Файл сеанса: *** success *** [33/33]
:
[GNOME Session]
Name=gnome-shell
Required=windowmanager;
Required-windowmanager=gnome-shell
DefaultApps=gnome-settings-daemon;
-
Элемент сеанса, указывающий на файл сеанса: /usr/share/gnome-sessions/sessions/gnome-shell.session
:
[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
Выйдите из системы, и вы сможете выбрать оболочку GNOME в качестве сеанса.
4. Обновление оболочки GNOME
-
Запуск
jhbuild build
должен обновлять источники и восстанавливать необходимые.
-
Если он не подходит для модуля, например. вы получите что-то вроде этого:
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]
, тогда вы можете попытаться стереть текущий каталог модуля и начать с чистых источников, выбрав опцию 6:
[6] Go to phase "wipe directory and start over"
-
Если это не помогает, вы можете начать с нуля, запустив:
jhbuild build -afc
Не компилировать? Затем проверьте места, указанные в 0.