Сборка оболочки GNOME из исходного кода
(Последнее обновление контента: 11. Февраль 2011, на основе официального руководства , не стесняйтесь редактировать.)
0. Предупреждения / ошибки при компиляции
Оболочка GNOME находится в стадии интенсивной разработки, и ее источники часто обновляются пару раз в день. Хотя приведенные ниже инструкции, как правило, должны работать, может случиться, что для успешной компиляции требуются некоторые хаки или они вообще невозможны
Если у вас возникнут проблемы, проверьте:
Текущие проблемы:
Необходимо удалить пару файлов в каталогах библиотеки, иначе компиляция не удастся. При выполнении системных обновлений эти файлы могут возвращаться: прочитайте это для объяснения, почему необходимо удалить эти файлы и как предотвратить обновления для их повторной установки.
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-bit и в разрабатываемой версии Ubuntu 11.04 64-bit.)
Следующее загрузит, скомпилирует и установит 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
переменную:
. ~/.profile
[Необязательно] : вы можете изменить несколько jhbuild
параметров, например, путь для загрузки источников и т. Д., Отредактировав файл ~/.jhbuildrc-custom
.
Запустите процесс сборки:
jhbuild build
Это (в настоящее время) скомпилирует 33 модуля. Возьми чашку кофе, поспи -> это займет некоторое время.
Как только вы видите, что *** success *** [33/33]
вы сделали. Поздравляем, вы только что скомпилировали GNOME Shell!
2. Запуск оболочки GNOME
Если вы используете Compiz, вам сначала нужно остановить его (запустив Metacity), иначе GNOME Shell не запустится:
metacity --replace &
Наконец, запустите:
cd ~/gnome-shell/source/gnome-shell/src
./gnome-shell --replace
Вот и все, надеюсь, теперь вы должны запустить GNOME Shell.
3. Сделать GNOME Shell менеджером окон по умолчанию
В Ubuntu 10.10 вы можете просто заменить оконный менеджер сеанса GNOME, изменив ключ GConf:
Создайте локальную панель запуска .desktop для GNOME Shell:
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 изменение ключа менеджера окон , похоже, не работает. Вместо этого вы можете добавить новый элемент сеанса, который вы можете выбрать на экране входа в GDM. Для этого вам нужно создать локальный файл .desktop, как описано выше, а затем создать два файла:
Файл сеанса /usr/share/gnome-sessions/sessions/gnome-shell.session
::
[GNOME Session]
Name=gnome-shell
Required=windowmanager;
Required-windowmanager=gnome-shell
DefaultApps=gnome-settings-daemon;
Элемент сеанса, указывающий на файл сеанса /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
Выйдите из системы, и вы сможете выбрать GNOME Shell в качестве сеанса.
4. Обновление GNOME Shell
Бег
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.