Executando o X11 - 3. Obtendo e instalando o X11
3.1 Instalando o X11 via Fink
O Fink permite que você instale o X11 de várias maneiras, dentre as
quais pacotes XFree86 providos pelo Fink. Se você usar fink install
...
, ele irá baixar o código fonte e compilá-lo em seu computador.
Se você usar apt-get install ...
ou a interface
dselect
, ele irá baixar pacotes binários pré-compilados,
similar à distribuição oficial do XFree86.
Observações gerais:
- Todos os pacotes X11 disponíveis atualmente via Fink suportam tanto operação em tela cheia ou sem raiz, e suportam OpenGL.
- Observação importante: arquivos mudam de lugar entre
versões X11. Isto geralmente significa que se você tentar baixar a
versão da sua instalação do X11, você descobrirá que binários
(programas executáveis etc) não funcionam mais. Você terá que
recompilar esses pacotes.
Você pode ir no sentido contrário: pacotes compilados em relação a uma versão do X11 mais antiga geralmente funcionam em uma versão posterior.
Para 10.3 ou 10.4, a hierarquia do X11 (mais recente -> mais antigo) é:
xorg > xfree86 > X11 da Apple
Usuários do Mac OS X 10.4:
Você pode instalar a versão 4.5.0-23 do XFree86 a partir do código
fonte. Você irá precisar de ambos os pacotes xfree86
e
xfree86-shlibs
para ter uma instalação completamente
funcional.
Você também pode instalar a versão X11 do X.org (atualmente na versão
6.8.2-35) através dos pacotes xorg
e
xorg-shlibs
.
3.2 Binários da Apple
Em 7 de janeiro de 2003, a Apple lançou uma implementação customizada do X11 baseada no XFree86-4.2 incluindo o renderização Quartz e OpenGL acelerado. Uma nova versão foi lançada em 10 de fevereiro de 2003 com funcionalidades adicionais e correções de erros. Uma terceira versão (isto é, Beta 3) foi lançada em 17 de março de 2003 com novas funcionalidades e correções de erros. Esta versão é suficientemente estável para execução no Jaguar.
Em 24 de outubro de 2003, a Apple lançou o Panther (10.3) incluindo uma versão oficial da sua distribuição X11. Essa versão é baseada no XFree86-4.3.
Em 29 de abril de 2005, a Apple lançou o Tiger (10.4) incluindo uma versão oficial do X11 da Apple baseado no XFree86-4.4.
Para usar os binários da Apple, você precisa assegurar-se de que o pacote X11 User esteja instalado, e você deve atualizar o Fink.
Você só precisa instalar o X11 SDK caso queira compilar pacotes a
partir do código fonte. Neste caso, mesmo que você não tenha o SDK,
haverá os pacotes virtuais system-xfree86
e
system-xfree86-shlibs
, o último representando as bibliotecas
compartilhadas. Se você instalar o SDK, haverá também um pacote
system-xfree86-dev
representando os arquivos de
cabeçalho.
Caso você tenha uma distribuição do XFree86 instalada, seja através do Fink ou de outras formas, você pode seguir as instruções para substituir um pacote X11 por outro. Assegure-se de remover seus pacotes existentes e então instalar o X11 da Apple (e o X11 SDK se necessário ou desejado).
Algumas observações sobre o uso do X11 da Apple:
-
O pacote
autocutsel
não é mais necessário. Se você estiver iniciando o X11 com ele habilitado, você deve desabilitá-lo. -
O X11 da Apple usa seu arquivo
~/.xinitrc
caso exista. Se você quiser integração completa com o Quartz, você deve usar/usr/X11R6/bin/quartz-wm
como seu gerenciador de janelas ou remover completamente seu~/.xinitrc
.Se você deseja apenas integração do copiar-e-colar mas quer usar um gerenciador de janelas diferente, você pode fazê-lo como no seguinte exemplo:
/usr/X11R6/bin/quartz-wm --only-proxy & exec /opt/sw/bin/fvwm2
Você pode obviamente chamar outro gerenciador de janela,
startkde
etc. -
O
quartz-wm
não suporta completamente dicas de gerenciador de janela geradas pelo GNOME ou KDE, então é possível que você perceba um comportamento estranho em janelas que não deveriam ter decorações mas têm. -
O X11 da Apple por padrão não considera as configurações de ambientes do Fink. Para chamar aplicativos que sejam carregados no início do X e que você haja instalado pelo fink (por exemplo, gerenciadores de janelas, gnome-session, outros aplicativos em
/opt/sw/bin
), coloque a seguinte linha próxima ao início de~/.xinitrc
(isto é, depois da linha "#!/bin/sh
" mas antes que você execute quaisquer programas):. /opt/sw/bin/init.sh
tal que o ambiente do Fink seja inicializado. Observação
init.sh
é usado no lugar deinit.csh
porque.xinitrc
é executado porsh
e não portcsh
. -
Aplicativos que requeiram chamar outros programas que residam na árvore do Fink por causa de algumas de suas funções necessitam de tratamento especial para fazê-los funcionar quando chamados pelo menu Application. No lugar de apenas colocar o caminho completo do arquivo, por exemplo
/opt/sw/bin/emacs
você deverá usar algo como o seguinte caso bash seja seu shell padrão:
. /opt/sw/bin/init.sh ; emacs
e se você estiver usando tcsh:
source /opt/sw/bin/init.csh ; emacs
Isto faz com que o aplicativo tenha a informação de PATH correta. Você pode usar essa sintaxe para qualquer aplicativo instalado via Fink.
-
Se você estiver tentando compilar na mão um pacote e veja uma falha como:
ld: err.o illegal reference to symbol: _XSetIOErrorHandler defined in indirectly referenced dynamic library /usr/X11R6/lib/libX11.6.dylib
então você precisa garantir que
-lX11
esteja presente durante a linkedição. Verifique as opções de configuração do seu pacote para ver como colocar este argumento extra. -
Se você usa o pacote
xfree86
e mais tarde trocar para o X11 da Apple (tanto na 10.2.x quanto na 10.3.x), quais pacotes compilados com oxfree86
terão que ser recompilados já que os binários não são compatíveis. -
Somente para usuários 10.3 e 10.4; é possível usar o servidor de exibição e o gerenciador de janelas da Apple em cima do XFree86 ou X.org. Se você instalar o pacote
applex11tools
, o Fink instalará o que você precisa desde que você tenha uma cópia deX11User.pkg
.
Para mais informações sobre o uso do X11 da Apple, verifique este artigo no Apple Developer Connection.
3.3 Os binários oficiais
O projeto XFree86 tem uma distribuição oficial de binários do XFree86
4.5.0. Você pode encontrá-lo em seu espelho local do XFree86 no
diretório 4.5.0/binaries/Darwin-ppc-6.x
. Assegure-se de
baixar os tarballs Xprog.tgz
e
Xquartz.tgz
mesmo que estejam marcados como
opcionais ("optional"). Se você não estiver certo de o que precisa, baixe
todo o diretório. Execute o script Xinstall.sh
como
root e proceda à instalação. (Você talvez queira ler as instruções
oficiais antes de instalar.)
Você terá agora no Mac OS X o XFree86 com um servidor que pode entrar em tela cheia ou sem raiz.
3.4 O código fonte oficial
Se estiver com tempo livre, você pode compilar o XFree86 4.5 a partir
do código fonte. Você pode encontrar o código fonte no seu espelho local do XFree86 no
diretório 4.5.0/source
. Baixe todos os sete tarballs
XFree86-4.5.0-src-#.tgz
e extraia-os no mesmo
diretório. Você pode customizar a compilação colocando definições de
macros no arquivo config/cf/hosts.def
localizado na
árvore do XFree86. Veja config/cf/darwin.cf
para
algumas dicas. (Observação: somente as macros que tiverem uma verificação
#ifndef ao seu redor podem ser sobrescritas no host.def.)
Quando estiver satisfeito com sua configuração, compile e instale o XFree86 através dos seguintes comandos:
make World sudo make install install.man
Assim como no caso dos binários oficiais, você terá então um XFree86 rodando no Mac OS X com o servidor que pode entrar em tela cheia ou sem raiz.
3.5 O código fonte mais recente
Se você tiver não apenas tempo mas também paciência, você pode obter a última versão de desenvolvimento do XFree86 através do repositório CVS público. Note que o código está sob constante desenvolvimento; o que você baixar hoje geralmente não é o mesmo que você baixou ontem.
Para instalar, siga as instruções do CVS do XFree86 para baixar o
módulo xc
. Em seguida, siga as instruções acima para
compilar o código fonte.
3.6 Substituindo o X11
Caso você já tenha instalado um dos pacotes X11 do Fink mas por alguma razão tenha decidido remover um e substituí-lo por outro, o procedimento é bastante direto. Você precisa forçar a remoção dos pacotes antigos e então instalar os novos para que seu banco de dados dpkg fique consistente.
Há duas formas diferentes de fazê-lo:
-
Use o FinkCommander
Caso esteja usando o FinkCommander, você pode forçar a remoção através do menu. Por exemplo, se você tiver o
xfree86-rootless
instalado mas queira a versão com threads, você pode selecionar os pacotesxfree86-rootless
,xfree86-rootless-shlibs
,xfree86-base
exfree86-base-shlibs
e então executar:Source -> Force Remove
-
Remova manualmente usando a linha de comando
Para removê-los manualmente, use o
dpkg
com a opção --force-depends:sudo dpkg -r --force-depends xfree86-rootless \ xfree86-rootless-shlibs xfree86-base xfree86-base-shlibs
Note que, caso você tenha aplicativos que requeiram o XFree86 com threads, você pode ter problemas com seu banco de dados dpkg caso você o remova forçadamente e instale um pacote XFree86 diferente ou um pacote sinalizador.
Se por outro lado você tiver uma versão do X11 que não foi instalada via Fink, você precisará removê-la via linha de comando:
sudo rm -rf /usr/X11R6 /etc/X11
Isto se aplica para qualquer variante do X11 que você não tenha
instalado através do Fink. Você também precisará remover
XDarwin.app
| X11.app
dependendo de
qual você houver instalado. Assegure-se de verificar seu
.xinitrc
caso esteja removendo o X11 da Apple para
garantir que você não tente executar o quartz-wm
.
Você poderá então instalar qualquer X11 que queira, manualmente ou pelo
Fink.
3.7 Sumário dos pacotes do Fink
Um rápido sumário das opções de instalação e pacotes do Fink que você deveria instalar:
Tipo de instalação | Pacotes do Fink |
---|---|
XFree86-4.4.0 ou 4.5.0 (10.3 e 10.4) |
|
X.org-6.8.2 (10.3 e 10.4) |
|
X11 da Apple (todas as versões) |
|
Binários oficiais do XFree86-4.x |
|
XFree86-4.x compilado a partir do fonte ou último fonte do CVS |
|
Próximo: 4. Iniciando o X11