Executando o X11 - 4. Iniciando o X11
4.1 Darwin
No Darwin puro, o XFree86 se comporta da mesma forma que em qualquer
outro Unix. A forma usual de iniciá-lo é através de startx
no console, iniciando o servidor e alguns clientes iniciais como o
gerenciador de janelas e um emulador de terminal com um shell. No Darwin
puro não é necessário especificar quaisquer parâmetros portanto você pode
digitar apenas:
startx
Você pode customizar o que é iniciado através de vários arquivos em
seu diretório home. .xinitrc
controla quais clientes
são iniciados. .xserverrc
controla opções do
servidor e pode até mesmo iniciar um servidor diferente. Se você estiver
tendo problema (por exemplo, a tela fica completamente em branco ou o
XFree86 termina e volta direto pro console), você pode iniciar um
procedimento de resolução de problemas movendo estes arquivos para outro
lugar. Quando o startx
não encontra esses arquivos, ele
usará opções padrões seguras que devem funcionar sempre.
De forma alternativa, você pode iniciar o servidor diretamente com uma das opções XDMCP tais como:
X -query remotehost
Detalhes sobre isto podem ser encontrados na página de manual do Xserver.
Finalmente, há a opção de configurar o xdm
; leia sua
página de manual para detalhes.
Observação: você não pode iniciar o XFree86 a partir da janela de console do Mac OS X.
4.2 Mac OS X + XFree86 4.x.y
Há basicamente duas formas de iniciar o XFree86 no Mac OS X. Uma é dar
um duplo clique no aplicativo XDarwin.app
em seu
diretório Aplicativos
(Applications
), o que lhe permitirá escolher,
através de uma janela de diálogo apresentado na inicialização, dentre
modo de tela cheia ou sem raiz. Você pode desabilitar a janela de diálogo
e configurar o XDarwin para usar sempre o modo de sua preferência através
da caixa de diálogo Preferências (Preferences).
Antes da versão 4.2.0 ele sempre abria em tela cheia e não havia como escolher o modo sem raiz através de um duplo clique na aplicação.
A outra forma de iniciar o XFree86 no Mac OS X é através de
startx
no Terminal.app
. Se você iniciar
o servidor desta forma, você precisa dizer-lhe para executar em paralelo
com o Quartz. Isto é feito através da opção -fullscreen
:
startx -- -fullscreen
Isto iniciará o servidor em modo de tela cheia assim como os clientes
enumerados no seu arquivo .xinirc
.
Observação: antes da versão 4.2, a opção -quartz
era
usada para o modo de tela cheia.
Você pode iniciá-lo em modo sem raiz através da opção
-rootless
:
startx -- -rootless
A opção -quartz
não mais seleciona o modo de tela cheia
mas sim usa o modo padrão definido nas preferências.
A partir da versão 4.2, você pode usar startx
sem
argumentos; a caixa de diálogo aparecerá na inicialização.
4.3 Iniciando o X.org
O X.org funciona de forma idêntica ao XFree86, sob todos os aspectos.
4.4 Iniciando o X11 da Apple
Funcionalmente, o X11 da Apple trabalha de forma similar ao XFree86
(por exemplo, usando um arquivo .xinitrc
para
controlar quais clientes são executados na inicialização). A forma usual
de executá-lo é através de um duplo clique no ícone
X11.app
(cuja localização padrão é
/Aplicativos/Utilitários
(/Applications/Utilities
). Você pode usar
startx
também mas não há uma opção de linha de comando para
definir o modo de exibição; o X11.app
iniciará no
modo que foi previamente definido através das Preferências
(Preferences).
Se você não configurou um gerenciador de janelas diferente, você
estará rodando o gerenciador de janelas quartz-wm
da Apple.
As Preferências (Preferences) do X11.app permitem trocar entre
os modos de tela cheia e sem raiz sem precisar reiniciar. Entretanto,
isto não funciona para o quartz-wm; é necessário escolher um gerenciador
de janelas diferente (por exemplo, no arquivo
.xinitrc
).
4.5 O pacote applex11tools
O pacote applex11tools
do Fink permite que você use o
X11.app
e o quartz-wm
no OS 10.3 e mais
recentes com o XFree86 4.4 ou mais recentes ou o X.org.
Para instalar este pacote, você precisa habilitar a árvore
unstable e ter o arquivo X11User.pkg
em algum lugar dentro de /Users
ou
/Volumes
. O X11.app
será
instalado no diretório Applications
dentro da sua
árvore do Fink. Você poderá então usar tanto X11.app
quanto XDarwin.app
.
4.6 O arquivo .xinitrc
Caso um arquivo chamado .xinitrc
exista em seu
diretório home, ele será usado para iniciar alguns clientes X iniciais,
por exemplo o gerenciador de janelas e alguns xterms ou um ambiente de
área de trabalho como o GNOME. O arquivo .xinitrc
é
um script de shell que contém os comandos para fazer isto. Não é
necessário colocar o tradicional #!/bin/sh
na primeira linha
e ligar o bit de execução no arquivo; o xinit irá de qualquer forma
executá-lo através de um shell.
Caso não exista um arquivo .xinitrc
em seu
diretório home, o X11 usa seu arquivo padrão,
/private/etc/X11/xinit/xinitrc
. Você pode usar o
arquivo padrão como um ponto de partida para seu próprio
.xinitrc
:
cp /private/etc/X11/xinit/xinitrc ~/.xinitrc
Caso esteja usando o Fink, você precisa incluir (através do comando
.
) o script /opt/sw/bin/init.sh
bem no
começo para garantir que o ambiente seja configurado corretamente.
Você pode colocar comandos arbitrários em um
.xinitrc
mas há algumas restrições. Em primeiro
lugar, o shell que interpreta o arquivo possui o comportamento padrão de
esperar por todo programa encerrar antes de iniciar o próximo. Se você
quer que vários programas rodem em paralelo, você precisa dizer ao shell
para colocá-los em segundo plano (background) através de
&
ao final de cada linha.
Em segundo lugar, o xinit
espera pelo script
.xinitrc
encerrar, interpretando este evento como "a
sessão terminou, posso encerrar o servidor X também". Isto significa que
o último comando de seu .xinitrc
não pode ser
executado em segundo plano e deve ser um programa que fique em execução
por bastante tempo. Normalmente o gerenciador de janelas é usado para
este fim. De fato, a maior parte dos gerenciadores de janelas pressupõem
que o xinit
esteja esperando que eles terminem e usam isto
para fazer funcionar a opção de menu "Sair" ("Log out"). (Observação:
para economizar memória e ciclos de CPU, você pode colocar um
exec
antes da última linha como nos exemplos abaixo).
Um exemplo simples que inicia o GNOME no XFree86 ou X.org:
. /opt/sw/bin/init.sh exec gnome-session
Um exemplo mais complexo para usuários bash que desliga a campainha do X11, inicia alguns clientes e finalmente executa o gerenciador de janelas Enlightenment:
. /opt/sw/bin/init.sh xset b off xclock -geometry -0+0 & xterm & xterm & exec enlightenment
Para iniciar o GNOME 2.4 e mais recentes no X11 da Apple:
. /opt/sw/bin/init.sh quartz-wm --only-proxy & exec gnome-session
Para iniciar o KDE 3.2 (versão < 3.2.2-21) no X11 da Aple:
. /opt/sw/bin/init.sh export KDEWM=kwin quartz-wm --only-proxy & /opt/sw/bin/startkde >/tmp/kde.log 2>&1
E finalmente para iniciar a versão instável mais recente do KDE no X11 da Apple:
. /opt/sw/bin/init.sh /opt/sw/bin/startkde >/tmp/kde.log 2>&1
4.7 OroborOSX
O OroborOSX é uma
alternativa para servidores de exibição X11.app e XDarwin. Ele requer uma
instalação do X11 pré-existente para funcionar. O
X11.app
ou o XDarwin.app
também
continuam a funcionar.
Ao ser executado, o OroborOSX inicia sem próprio gerenciador
de janelas que é sempre sem raiz e não lê nem o arquivo
xinitrc
do sistema nem o .xinitrc
do usuário.
Após iniciar, ele tem uma opção de menu para executar o
.xinitrc
. Entretanto, ele tem seu próprio método para
configurar aplicações que sejam executadas quando ele inicia. Ele também
fornece um mecanismo para iniciar aplicativos X11 a partir do Finder via
scripts de inicialização.
Para mais informações, visite o site do OroborOSX.
Próximo: 5. Xtools