Criando o Shell do GNOME a partir da fonte
(Última atualização de conteúdo: 11 de fevereiro de 2011, com base no guia oficial , fique à vontade para editar.)
0. Avisos / erros durante a compilação
O GNOME Shell está em desenvolvimento pesado e as fontes são atualizadas algumas vezes por dia. Embora as instruções abaixo geralmente funcionem, pode acontecer que a compilação bem-sucedida precise de alguns hacks ou não seja possível.
Se você encontrar algum problema, verifique:
Problemas atuais:
É necessário remover alguns arquivos nos diretórios da biblioteca, caso contrário a compilação falhará. Ao fazer atualizações do sistema, esses arquivos podem retornar: leia isto para obter uma explicação sobre por que é necessário remover esses arquivos e como impedir atualizações para reinstalá-los.
sudo rm -rf /usr/lib*/*.la
(Não se preocupe, isso não prejudicará seu sistema!)
Antes de poder executar o GNOME Shell, você precisa remover um arquivo após o processo de compilação:
rm ~/gnome-shell/install/lib*/gtk-3.0/modules/libcanberra-gtk-module.so
1. Criando Shell do GNOME
(Testado no Ubuntu 10.10 de 32 bits e na versão de desenvolvimento do Ubuntu 11.04 de 64 bits.)
A seguir, é possível baixar, compilar e instalar o GNOME Shell de maneira semelhante a uma sandbox - ou seja, ele não tocará o resto do seu sistema!
Instale dependências:
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
Obtenha o script de configuração do GNOME Shell:
curl -O https://git.gnome.org/browse/gnome-shell/plain/tools/build/gnome-shell-build-setup.sh
Crie a ferramenta de construção jhbuild
e faça o download dos arquivos de configuração:
/bin/bash gnome-shell-build-setup.sh
Isso será instalado jhbuild
no ~/bin
, que você precisará adicionar à sua PATH
variável:
. ~/.profile
[Opcional] : você pode alterar várias jhbuild
opções, como o caminho para o download de fontes, etc., editando o arquivo ~/.jhbuildrc-custom
.
Inicie o processo de compilação:
jhbuild build
Isso (atualmente) compila 33 módulos. Pegue uma xícara de café, tire uma soneca -> levará algum tempo.
Depois de ver *** success *** [33/33]
que está pronto. Parabéns, você acabou de compilar o GNOME Shell!
2. Executando o Shell GNOME
Se você estiver executando o Compiz, primeiro será necessário interrompê-lo (iniciando o Metacity) ou o GNOME Shell não iniciará:
metacity --replace &
Por fim, execute:
cd ~/gnome-shell/source/gnome-shell/src
./gnome-shell --replace
Esperamos que você esteja agora executando o GNOME Shell.
3. Tornando o GNOME Shell o gerenciador de janelas padrão
No Ubuntu 10.10, você pode simplesmente substituir o gerenciador de janelas da sessão GNOME, alterando uma chave GConf:
Crie um iniciador local .desktop para o GNOME Shell:
ln -s ~/gnome-shell/install/share/applications/gnome-shell.desktop ~/.local/share/applications/gnome-shell.desktop
Em seguida, mude o gerenciador de janelas da sessão para Shell do GNOME:
gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-shell" -t string
Para reverter a alteração, execute:
gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-wm" -t string
No Ubuntu 11.04, alterar a chave do gerenciador de janelas não parece funcionar. Em vez disso, você pode adicionar um novo item de sessão que pode selecionar na tela de login do GDM. Para isso, você precisa criar o arquivo .desktop local como acima e, em seguida, criar dois arquivos:
Um arquivo de sessão /usr/share/gnome-sessions/sessions/gnome-shell.session
::
[GNOME Session]
Name=gnome-shell
Required=windowmanager;
Required-windowmanager=gnome-shell
DefaultApps=gnome-settings-daemon;
O item da sessão apontando para o arquivo da sessão /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
Faça logout e você poderá escolher o GNOME Shell como sessão.
4. Atualizando o Shell GNOME
Corrida
jhbuild build
deve atualizar as fontes e reconstruir o que é necessário.
Se falhar para um módulo, por exemplo, você obtém algo como isto:
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]
então você pode tentar limpar o diretório atual do módulo e começar com fontes limpas escolhendo a opção 6:
[6] Go to phase "wipe directory and start over"
Se isso não ajudar, você pode começar do zero executando:
jhbuild build -afc
Ainda não está compilando? Em seguida, verifique os locais mencionados em 0.