Xây dựng Gnome Shell từ nguồn
(Cập nhật nội dung lần cuối: 11. Tháng 2 năm 2011, dựa trên hướng dẫn chính thức , vui lòng chỉnh sửa.)
0. Cảnh báo / lỗi trong quá trình biên dịch
Gnome Shell đang được phát triển mạnh mẽ và các nguồn thường được cập nhật một vài lần một ngày. Mặc dù các hướng dẫn bên dưới thường hoạt động, nhưng có thể xảy ra việc biên dịch thành công cần một số hack hoặc hoàn toàn không thể.
Nếu bạn gặp bất kỳ vấn đề, kiểm tra:
Vấn đề hiện tại:
Cần phải xóa một vài tệp trong thư mục thư viện, việc biên dịch khác sẽ thất bại. Khi thực hiện cập nhật hệ thống, các tệp đó có thể quay lại: đọc phần này để được giải thích tại sao cần phải xóa các tệp đó và cách ngăn nâng cấp để cài đặt lại chúng.
sudo rm -rf /usr/lib*/*.la
(Đừng lo lắng, điều này sẽ không gây hại cho hệ thống của bạn!)
Trước khi có thể chạy Gnome Shell, bạn cần xóa một tệp sau quá trình xây dựng:
rm ~/gnome-shell/install/lib*/gtk-3.0/modules/libcanberra-gtk-module.so
1. Xây dựng vỏ Gnome
(Đã thử nghiệm trên Ubuntu 10.10 32 bit và phiên bản phát triển của Ubuntu 11.04 64 bit.)
Phần sau đây sẽ tải xuống, biên dịch và cài đặt Gnome Shell theo cách giống như hộp cát - có nghĩa là nó sẽ không chạm vào phần còn lại của hệ thống của bạn!
Cài đặt phụ thuộc:
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
Nhận tập lệnh thiết lập của Gnome Shell:
curl -O https://git.gnome.org/browse/gnome-shell/plain/tools/build/gnome-shell-build-setup.sh
Xây dựng công cụ xây dựng jhbuild
và tải xuống các tệp cấu hình:
/bin/bash gnome-shell-build-setup.sh
Điều này sẽ cài đặt jhbuild
để ~/bin
, mà bạn cần phải thêm vào của bạn PATH
-variable:
. ~/.profile
[Tùy chọn] : Bạn có thể thay đổi một số jhbuild
tùy chọn như đường dẫn để tải xuống nguồn, v.v. thông qua chỉnh sửa tệp ~/.jhbuildrc-custom
.
Bắt đầu quá trình xây dựng:
jhbuild build
Điều này sẽ (hiện tại) biên dịch 33 mô-đun. Lấy một tách cà phê, ngủ trưa -> sẽ mất một thời gian.
Một khi bạn thấy *** success *** [33/33]
bạn đã làm xong. Xin chúc mừng, bạn vừa biên dịch Shell Gnome!
2. Chạy Shell Gnome
Nếu bạn đang chạy Compiz, trước tiên bạn cần dừng nó (bằng cách bắt đầu Metacity) hoặc nếu không Gnome Shell sẽ không bắt đầu:
metacity --replace &
Cuối cùng, chạy:
cd ~/gnome-shell/source/gnome-shell/src
./gnome-shell --replace
Vậy đó, bạn hy vọng bây giờ nên chạy Gnome Shell.
3. Làm cho Gnome Shell trở thành trình quản lý cửa sổ mặc định
Trong Ubuntu 10.10, bạn chỉ cần thay thế trình quản lý cửa sổ của phiên Gnome thông qua thay đổi khóa GConf:
Tạo trình khởi chạy .desktop cục bộ cho Gnome Shell:
ln -s ~/gnome-shell/install/share/applications/gnome-shell.desktop ~/.local/share/applications/gnome-shell.desktop
Sau đó thay đổi trình quản lý cửa sổ của phiên thành Shell Gnome:
gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-shell" -t string
Để hoàn nguyên thay đổi, hãy chạy:
gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-wm" -t string
Trong Ubuntu 11.04, việc thay đổi khóa windowmanager dường như không hoạt động. Thay vào đó, bạn có thể thêm một mục phiên mới mà bạn có thể chọn tại màn hình đăng nhập GDM. Do đó, bạn cần tạo tệp .desktop cục bộ như trên và sau đó tạo hai tệp:
Một tệp phiên /usr/share/gnome-sessions/sessions/gnome-shell.session
::
[GNOME Session]
Name=gnome-shell
Required=windowmanager;
Required-windowmanager=gnome-shell
DefaultApps=gnome-settings-daemon;
Mục phiên trỏ đến tệp phiên /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
Đăng xuất và bạn sẽ có thể chọn Gnome Shell làm phiên.
4. Cập nhật Shell Gnome
Đang chạy
jhbuild build
nên cập nhật các nguồn và xây dựng lại những gì cần thiết.
Nếu nó không thành công cho một mô-đun, ví dụ bạn nhận được một cái gì đó như thế này:
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]
sau đó bạn có thể thử xóa thư mục mô-đun hiện tại và bắt đầu với các nguồn sạch bằng cách chọn tùy chọn 6:
[6] Go to phase "wipe directory and start over"
Nếu điều đó không có ích, bạn có thể bắt đầu lại từ đầu bằng cách chạy:
jhbuild build -afc
Vẫn không biên dịch? Sau đó kiểm tra những nơi được đề cập trong 0.