Xorg (normalmente chamado de X) é o servidor de exibição mais popular entre os usuários do Linux. Um pouco de conhecimento básico sobre X pode ser útil.
X Server ou Servidor X
O Xorg foi projetado desde o início para ser usado via rede e por isso adotou um modelo “cliente-servidor”. Nesse modelo, o “servidor X” é executado no computador que possui teclado, monitor e mouse conectados. A responsabilidade do servidor X inclui tarefas como gerenciar a exibição, lidar com a entrada do teclado e do mouse e lidar com a entrada ou saída de outros dispositivos, como um tablet ou um projetor de vídeo.
Isso confunde algumas pessoas, porque o termo X é confuso. As pessoas esperam que o “servidor X” seja uma máquina grande e poderosa, e o “cliente X” seja uma máquina em cima de uma mesa.
O Xorg é mantido pela X.org Foundation. Antigamente, além do xorg havia o XFree86 e ainda o Accelerated-X.
X Client ou Cliente X
Cada programa que usa o X, como XTerm ou Firefox, é um “cliente”. Um cliente envia mensagens para o servidor X. Por exemplo, “Por favor, desenhe uma janela nestas coordenadas“, e o servidor envia de volta mensagens como “O usuário acabou de clicar no botão OK“. Em um ambiente doméstico ou pequeno, o servidor X e os clientes X geralmente são executados no mesmo computador. Também é possível executar o servidor X em um computador menos poderoso e executar os programas X em um sistema mais poderoso. Nesse cenário, a comunicação entre o cliente X e o servidor ocorre pela rede.
Um gerenciador de Janelas(Window Manager) também é um cliente X. Podemos dizer que é um cliente X especial, pois nos oferece facilidades como botões de fechar, maximizar, redimensionamento de janelas etc… Existem vários Gerenciadores de janelas e podemos escolhê-los de acordo com a sua aparência(layout).
Como exemplos de windows manager temos: Compiz, aewm, Enlightenment, Blackbox, Fluxbox, FVWM e Xfwm
Window Manager ou Gerenciador de Janela
O X não determina como as janelas devem aparecer na tela, como movê-las com o mouse, quais teclas devem ser usadas para mover entre as janelas, como devem ser as barras de título em cada janela, se elas têm ou não botões para fechar, e assim por diante. Em vez disso, X delega essa responsabilidade a um aplicativo gerenciador de janelas, o que, em inglês, chamamos de Window manager. Existem dezenas de gerenciadores de janela disponíveis. Cada gerenciador de janela oferece uma aparência diferente: alguns oferecem suporte a desktops virtuais, outros permitem teclas de atalhos personalizadas para gerenciar a área de trabalho, alguns têm um botão “Iniciar” e alguns são mais personalizáveis que outros, permitindo uma mudança completa na aparência da área de trabalho. Os gerenciadores de janela estão disponíveis na categoria x11-wm nas Ports Collection.
Cada Window Manager(gerenciador de janela) usa um mecanismo de configuração diferente. Alguns esperam que o arquivo de configuração seja editado por arquivos de textos, enquanto outros fornecem ferramentas gráficas para a maioria das tarefas.
Desktop Environment ou Ambiente de Trabalho
O ambiente de desktop, ou Desktop Environment, é composto por uma coleção de ferramentas de software e programas projetados para funcionar juntos e fornecer uma experiência de usuário(UX) uniforme.
Geralmente é usado mais o termo Desktop Environment do que o em português(Ambiente de Trabalho). Um desktop environment é um ambiente de trabalho mais completo, geralmente formado por um window manager(gerenciador de janela) + aplicativos.
O KDE e o GNOME são considerados ambientes de área de trabalho, pois incluem um conjunto completo de aplicativos para executar tarefas comuns de área de trabalho. Isso pode incluir suítes de escritório, navegadores da web e jogos.