Criando o GNOME Shell a partir da fonte
(Última atualização do conteúdo: 11. fev. 2011, com base no guia oficial , fique à vontade para editar.)
0. Avisos / erros durante a compilação
O GNOME Shell está sob strong desenvolvimento e as fontes geralmente 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 as atualizações do sistema, esses arquivos podem retornar: leia este para obter uma explicação de por que é necessário remover esses arquivos e como evitar upgrades 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. Construindo o Shell do GNOME
(Testado no Ubuntu 10.10 32-bit e na versão de desenvolvimento do Ubuntu 11.04 64-bit.)
A seguir, você fará o download, compilará e instalará o GNOME Shell de forma semelhante à caixa de areia, ou seja, não tocará no resto do seu sistema!
-
Instalar 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 compilação jhbuild
e baixe os arquivos de configuração:
/bin/bash gnome-shell-build-setup.sh
-
Isso instalará jhbuild
a ~/bin
, que você precisa adicionar à sua PATH
-variable:
. ~/.profile
-
[Opcional] : você pode alterar várias opções de jhbuild
, como o caminho para baixar fontes, etc., editando o arquivo ~/.jhbuildrc-custom
.
-
Inicie o processo de criação:
jhbuild build
Isto irá (atualmente) compilar 33 módulos. Pegue uma xícara de café, tire uma soneca - & gt; vai demorar algum tempo.
Depois de ver *** success *** [33/33]
, você está pronto. Parabéns, você acabou de compilar o GNOME Shell!
2. Executando o Shell do GNOME
-
Se você estiver executando o Compiz, primeiro precisará pará-lo (iniciando o Metacity) ou o GNOME Shell não será iniciado:
metacity --replace &
-
Por fim, execute:
cd ~/gnome-shell/source/gnome-shell/src
./gnome-shell --replace
É isso aí, você deve estar rodando 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 do GNOME, alterando uma chave GConf:
-
Crie um lançador local do .desktop para o GNOME Shell:
ln -s ~/gnome-shell/install/share/applications/gnome-shell.desktop ~/.local/share/applications/gnome-shell.desktop
-
Em seguida, altere o gerenciador de janelas da sessão para ser o GNOME Shell:
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 windowmanager parece não funcionar. Em vez disso, você pode adicionar um novo item de sessão que pode selecionar na tela de login do GDM. Portanto, você precisa criar o arquivo .desktop local como acima e depois 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
Efetue logout e você poderá escolher o GNOME Shell como sessão.
4. Atualizando o Shell do GNOME
-
Rodando
jhbuild build
deve atualizar as fontes e reconstruir o que for necessário.
-
Se falhar para um módulo, por ex. você tem algo assim:
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.