Executando o X11 - 1. Introdução
1.1 O que é o X11?
O Sistema de Janelas X (X Window System) Versão 11, ou simplesmente X11, é um sistema de exibição de gráficos com uma arquitetura cliente-servidor transparente em relação à rede. Ele permite que aplicativos desenhem pixels, linhas, textos, imagens etc em seu monitor. O X11 vem também c om bibliotecas adicionais que permite que os aplicativos desenhem interfaces facilmente, isto é, botões, campos para entrada de texto e assim por diante.
O X11 é o padrão de facto para sistemas gráficos no mundo Unix. Ele faz parte do Linux, dos *BSDs e a maior parte dos sistemas Unix comerciais. Ambientes de área de trabalho como CDE, KDE e GNOME rodam em cima dele.
1.2 O que é o Mac OS X?
O Mac OS X é um sistema operacional produzido pela Apple. Da mesma forma que seus predecessores NeXTStep e OpenStep, ele é baseado em BSD e é portando um membro da família de sistemas operacionais Unix. Entretanto, ele vem com um sistema de exibição de gráficos proprietário. O mecanismo gráfico é chamado Quartz e sua aparência visual é chamada Aqua, ainda que os dois nomes sejam frequentemente usados de forma intercambiável.
1.3 O que é o Darwin?
O Darwin é basicamente uma versão reduzida do Mac OS X que está disponível de forma gratuita e com o código fonte completo. Ele não contém Quartz, Aqua ou qualquer outra tecnologia relacionada. Por padrão, ele oferece apenas um console texto.
1.4 O que é o XFree86?
O XFree86 é uma implementação de código aberto do X11. Ele foi inicialmente desenvolvido para rodar em PCs Intel x86, por isso seu nome. Hoje em dia, ele roda em várias arquiteturas e sistemas operacionais, incluindo OS/2, Darwin, Mac OS X e Windows.
1.5 O que é o Xtools?
O Xtools é um produto da X Tenon Intersystems. É uma versão do X11 para Mac OS X baseada no XFree86.
Observação: O desenvolvimento aparentemente foi interrompido antes de o OS 10.3 ser lançado.
1.6 Cliente e servidor
O X11 tem uma arquitetura cliente-servidor. Há um programa central que faz o desenho em si e coordena o acesso por vários aplicativos; este é o servidor. Um aplicativo que queira desenhar usando o X11 conecta-se ao servidor e lhe diz o que desenhar. Portanto, aplicativos são denominados clientes no mundo X11.
O X11 permite que o servidor e os clientes estejam em máquinas diferentes, o que geralmente resulta em confusão sobre os termos. Em um ambiente com estações de trabalho e servidores, você executará o servidor de exibição do X11 em uma estação de trabalho e os aplicativos (clientes X11) na máquina servidora. Portanto, quando se fala sobre o "servidor", isto significa o programa servidor de exibição do X11 e não a máquina escondida no seu armário.
1.7 O que significa sem raiz (rootless)?
Um pouco de história: o X11 modela a tela como sendo uma hierarquia de janelas contidas umas nas outras. No topo da hierarquia está uma janela especial que possui o tamanho da tela e contém todas as outras janelas. Esta janela contém o fundo da área de trabalho é denominada "janela raiz".
Voltando ao assunto: como qualquer ambiente gráfico, o X11 foi escrito para estar sozinho e ter controle completo da tela. No Mac OS X, o Quartz já está governando a tela, portanto é necessário fazer ajustes para que ambos coexistam.
Uma configuração é permitir que ambos se alternem. Cada ambiente recebe uma tela completa mas apenas um deles está visível em um dado instante de tempo e o usuário pode trocar entre eles. Este modo é denominado tela cheia (full-screen) ou com raiz (rooted). Ele é denominado com raiz porque há uma janela raiz perfeitamente normal na tela do X11 e que funciona como em outros sistemas.
Outra configuração é misturar os dois ambientes janela por janela. Isto elimina a necessidade de alternar entre duas telas. Isto também elimina a janela raiz do X11 porque o Quartz já toma conta do fundo da área de trabalho. Uma vez que não há uma janela raiz (visível), este modo é denominado sem raiz (rootless). É a forma mais confortável de usar o X11 no Mac OS X.
1.8 O que é um gerenciador de janelas?
Na maior parte dos ambientes gráficos, a aparência das bordas de uma janela (barra de título, botão de fechar etc) é definida pelo sistema. No X11 é diferente. Com o X11, as bordas da janela (também chamadas decoração) são fornecidas por um programa separado denominado gerenciador de janelas. Sob vários aspectos, o gerenciador de janelas é apenas outro aplicativo cliente; ele é iniciado da mesma forma e conversa com o servidor X através dos mesmos canais.
Há um grande número de gerenciadores de janelas diferentes para escolher. O site xwinman.org possui uma lista abrangente. Os mais populares permitem que o usuário ajuste a aparência das janelas através de temas. Vários gerenciadores de janelas fornecem também funcionalidades adicionais, como menus pop-up na janela raiz e barras de ícones.
Muitos gerenciadores de janelas foram empacotados no Fink. Aqui está uma lista atualizada.
1.9 O que são Quartz/Aqua, Gnome e KDE?
São gerenciadores de área de trabalho, e há vários outros. Seu propósito é fornecer um suporte adicional a aplicativos tal que sua aparência, forma de interação e comportamento sejam visualmente consistentes. Por exemplo,
Os limites entre o sistema de exibição gráfica, gerenciador de janelas e de área de trabalho não são muito delimitados porque às vezes uma certa funcionalidade, ou uma funcionalidade similar, pode ser implementada por mais de um deles. Esta é a razão pela qual um gerenciador de janelas em particular pode não poder ser usado com um determinado ambiente de área de trabalho.
Muitos aplicativos são desenvolvidos para serem integrados a uma área de trabalho em particular. De forma geral, instalando as bibliotecas desses ambientes de área de trabalho (e outras bibliotecas subjacentes) para o qual um aplicativo foi desenvolvido, o aplicativo funcionará sem perda de funcionalidade. Como exemplo, a grande quantidade de aplicativos GNOME que podem ser instalados e executados sem rodar o GNOME em si. Infelizmente, ainda não se chegou ao mesmo ponto em relação aos aplicativos KDE.
Próximo: 2. História