Створення оболонки 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
(Тестовано на 32-бітній версії Ubuntu 10.10 та 64-розрядної версії Ubuntu 11.04.)
Далі буде завантажено, компільовано та встановлено оболонку GNOME як пісочниця - це означає, що це не торкнеться решти вашої системи!
Встановити залежності:
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]
ви закінчили. Вітаємо, щойно ви склали Shell GNOME!
2. Запуск оболонки GNOME
Якщо ви працюєте з Compiz, спочатку потрібно зупинити його (запустивши Metacity), інакше Shell GNOME не запуститься:
metacity --replace &
Нарешті, запустіть:
cd ~/gnome-shell/source/gnome-shell/src
./gnome-shell --replace
Ось це, сподіваємось, зараз слід запускати GNOME Shell.
3. Створення GNOME Shell за замовчуванням менеджера вікон
У Ubuntu 10.10 ви можете просто замінити менеджер вікон сесії GNOME, змінивши ключ GConf:
Створіть локальний запуск запуску .desktop для Shell 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, здається , зміна ключа віконця не працює. Натомість ви можете додати новий елемент сеансу, який ви можете вибрати на екрані входу в 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 як сеанс.
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.