X Window System

Danilo Tedeschi, Laercio de Oliveira Junior, Luiz Miyazaki

    O X Window System, também chamado de X11 ou somente X, é um sistema de janelas(windowing system) para os sistemas Unix-Linux. Ele por si só não oferece uma GUI(Interface gráfica para o usuário) completa. O X funciona no modelo cliente/servidor, que inicialmente pode ser confuso e não muito claro o conceito à primeira vista. Temos duas possibilidades, o XServer e o XClient pode estar na mesma máquina ou não. A diferença que ocorre é que quando estão na mesma máquina, o cliente é apenas uma aplicação utilizando a biblioteca do X se comunicando com o XServer, caso contrário, a comunicação entre eles será feita por TCP através de sockets.

    Na imagem acima podemos ver algumas camadas do X, que em conjunto o possibilita forneçer uma GUI completa ao usuário, uma delas que iremos demonstrar nos códigos é a XLib, biblioteca na qual temos rotinas que são utilizadas para se comunicar com o Xserver. Em contra partida a XLib não oferece ferramentas para trabalhar com botões por exemplo, com isso necessitamos das ferramentas da biblioteca Intrinsics, e para fornecer uma GUI completa necessitamos de outras camadas. Outro exemplo de uma camada do X, é o Motif, proporciona um ambiente padrão em sistemas Unix-Linux e permite os usuários adicionar ou redimensionar ícones em janelas. Algo importante a se ressaltar, é que temos o Window Manager que não faz parte do X11, que é uma aplicação que permite a criação de novas janelas e o movimento das janelas na tela.
    Podemos perceber que o X11 é um sistema que tem como principal objetivo esconder a parte "feia" do Sistema Operacional e por ser consistido de camadas e programas o torna portável e flexível.