O sistema X-Window (sim! sem o "s"), também chamado de X, fornece os
ambientes gráficos do *nix. Apesar de rodar em muitos outros sistemas
operacionais como: Windows NT, Windows, MacOS, DOS...
Todos nós estamos acostumados com o Windows e que pelo fato dele aceitar
todas as opções de hardware, o X deva aceitá-las também. Infelizmente
isso em muitos casos não é verdade e só quem teve uma experiência dessas
sabe como isso é frustrante. Mas, não desanime, pois essa é uma das partes
que mais tem avançado a compatibilidade com o hardware.
História
O X Window começou como um exercício acadêmico no Projeto Athena do
Massachusetts Institute of Tecnology. O objetivo era vincular uma grande
variedade de estações de trabalho diferentes de vários fornecedores.
Em vez de oferecer o link em nível de sistema operacional, a decisão foi
criar uma camada de software em que janelas gráficas baseadas em C fossem
capazes de existir em qualquer sistema operacional. Assim, nasceu o X Window.
Atualmente, sob a supervisão da
X Consortium Inc., uma entidade sem fins
lucrativos, o sistema X Window é amplamente disponibilizado para o público
de informática, que representa sua ampla adoção no mundo *nix. Infelizmente,
fiquei sabendo que o X esta para mudar de licença apartir de suas novas
versões.
X em Rede
Fiel a suas raízes, o sistema X Window executa o processamento gráfico em
uma arquitetura de múltiplos processos. O processo principal, chamado
simplesmente de X, é o próprio X Server. O servidor lida com solicitações
locais (daí seu uso em uma estação de trabalho
Linux única) e solicitações
via rede baseadas em TCP/IP.
Em virtude dessa capacidade de funcionar em rede, podemos fazer com que
uma estação execute o trabalho e mostre os resultados em outra. Você poderia
fazer com que o OpenOffice fosse aberto usando a estação do seu chefe, mas
a visualização do aplicativo será feita na sua máquina. Em resumo, deixa
'sua máquina livre e a estação do seu chefe faz o trabalho.
O X Server controla monitor, mouse e teclado permitindo que aplicativos gráficos - chamados X Clients - criem janelas e as ocupem. À primeira vista, é tão básico que parece não requerer nenhuma explicação. O processo X é o único autorizado a desenhar pontos na tela ou rastrear o mouse.
Programas aplicativos conectam-se ao X server através de um link de
comunicação, normalmente um soquete de rede TCP/IP. Pelo fato de usar esse
tipo de comunicação, os programas que rodam em outras estações podem ser
visualizados na sua máquina.
Gerenciador de Janelas
Diferentemente dos ambientes Macintosh e Windows, o X torna o gerenciador
de janelas um processo separado. Na verdade, a vantagem de separar o
gerenciador de janelas é que você pode escolher entre uma variedade de
gerenciadores existentes o que melhor lhe convém.
O principal objetivo de se executar um gerenciador de janelas é controlar
como você move e redimensiona a janela, além do que é ele que põem aquela
barrinha com o título no topo das janelas.
Alguns gerenciadores de janelas do ambiente X:
- AfterStep, uma dentre as diversas variantes do Fvwm, um
gerenciador semelhante ao S.O NeXT.
- LessTif, semelhante ao SO dos PC´s da Macintosh.
- Fvwm/Fvwm95, muito semelhante ao Windows 95.
- Scwm, configurado usando a linguagem Scheme.
- Twm/tom´s, ambiente básico e funcional.
- Olvwm, foi o padrão dos sistemas SUN durante muito tempo.
- AmiWm, para aqueles que usavam o Amiga (você se lembra??) e gostam
da sua interface (são loucos hehehehe) bem objetiva.
- Enlightenment, um super gerenciador de janelas, nele o usuário
personaliza TUDO!!!
- K Desktop Environment (KDE), ambiente gráfico muito difundido no
mundo Linux, pois apresenta um conjunto de aplicativos consistentes
para o usuário e programadores.
A maioria dos sistemas comerciais UNIX roda
mwm, um gerenciador de
janela baseado em Motif, ou uma variável próxima. Você poderá encontrá-la em
estações de trabalho da HP, SCO, IBM, Silicon Graphics e até Sun
Microsystems (com o CDE). Como o mwm (e o restante da Motif) é um produto
comercial você não o verá no Linux, a menos que o compre separadamente.
Problemas com o X?
Sempre que executamos o X, estamos acionando o X Server. O X Server como
já dito é um servidor que pode atender tanto pedidos locais como via rede.
O fato dele ser usado por muitos apenas localmente e sem o fechamento da
porta onde ele aguarda ordens de outros pontos da rede pode deixar sua
máquina vulnerável.
Em teoria apenas o mesmo usuário que abriu a sessão X pode fazer
requerimentos para o servidor. Assim, se um programa mal intencionado está
operando, pode bater fotos da sua tela e enviar pelo correio. Já pensou
se tiram fotinhas suas teclando a senha do banco? Com o número da conta e
agência em cada uma das fotos para não haver erros?
Infelizmente, esse seria mais um dos inúmeros erros que um usuário pode
cometer.