Outro componente base do sistema, usado em todas as distribuições, é o servidor gráfico, o famoso “X”. Antes do X, o Linux tinha apenas a velha interface de modo texto, o que explicava o fato de ele ser popular apenas entre programadores e administradores de sistemas.
Diferentemente do que temos no Windows, onde a interface gráfica é um componente essencial do sistema, no Linux o modo gráfico é uma camada independente. Temos um “servidor gráfico”, o X, que provê a infra-estrutura necessária. É ele que controla o acesso à placa de vídeo, lê as teclas digitadas no teclado e os clicks do mouse, e oferece todos os recursos necessários para os programas criarem janelas e mostrarem conteúdo na tela.
Se você chamar o X sozinho, a partir do modo texto (o que pode ser feito com o comando “X” ou “X :2” caso você queira abrir uma segunda seção), você verá apenas uma tela cinza, com um X que representa o cursor do mouse. Em outras palavras, o X é apenas uma base, ele sozinho não faz muita coisa:
Se você chamá-lo com o comando “xinit” ou “xinit — :2”, ele abrirá junto uma janela de terminal, que poderá ser usada para abrir programas. Porém, ao abrir qualquer programa gráfico, você perceberá que algo está estranho. A janela do programa é aberta, mas fica fixa na tela; você não tem como minimizá-la, alternar para outra janela, nem nenhuma outra opção.
Isto acontece porque estas tarefas são controladas pelo gerenciador de janelas, que (em quase todas as distribuições) não é carregado com o comando xinit. Chamando o X através do comando “startx”, ou configurando o sistema para carregar o X automaticamente durante a inicialização (que é o default em praticamente todas as distribuições), finalmente carregamos o conjunto completo, com o X e um desktop completo rodando sobre ele; um ambiente de trabalho mais produtivo:
Existem inúmeros gerenciadores de janelas diferentes para o Linux, uma lista que inclui o LXDE, FluxBox, Window Maker, XFCE, Enlightenment e muitos outros. Depois deles, temos o KDE e o GNOME, que se enquadram em uma categoria à parte: a dos ambientes desktop (desktop environment, ou DE).
Em vez de se limitarem a serem apenas gerenciadores de janelas, eles incluem um enorme conjunto de componentes e de aplicativos, desenvolvidos de forma a oferecerem um ambiente de trabalho consistente, onde todos os aplicativos se comportam de forma similar, compartilham do mesmo tema visual, utilizam os mesmos atalhos de teclado e assim por diante. Eles incluem também bibliotecas e ferramentas de desenvolvimento, que oferecem um ambiente completo para quem desenvolve aplicativos.
O KDE segue uma abordagem mais configurável, oferecendo um grande volume de opções de configuração e uma interface mais parecida com a do Windows. O GNOME, por outro lado, segue a linha do Mac OS X, oferecendo um ambiente mais simples (porém não necessariamente mais leve), com menos opções de configuração. A vantagem da abordagem do GNOME é que o ambiente é mais amigável para novos usuários, mas, por outro lado, ele acaba desagradando muitos usuários antigos, que sentem falta de um ambiente mais configurável, como no KDE.
A vantagem de ter dois ambientes diferentes é que você pode escolher qual usar, exercitando sua liberdade de escolha. Nada impede também que você rode aplicativos do KDE (como o Konqueror e o K3B) sobre o GNOME, ou vice-versa, utilizando os melhores componentes de cada ambiente.
O problema em misturar aplicativos é que seu ambiente de trabalho deixa de ser consistente, já que os aplicativos do KDE utilizam um conjunto de configurações diferentes das do GNOME. Você acaba tendo então que configurar os aplicativos das duas famílias de forma distinta, usando o kcontrol ou o Systemsettings para ajustar as configurações dos aplicativos do KDE e o gnome-appearance-properties (e os demais aplicativos do painel de preferencias do GNOME) para ajustar as configurações dos aplicativos do GNOME:
Configurações diferentes para os aplicativos do GNOME e do KDE
Existe ainda o problema do desempenho. Misturando aplicativos dos dois ambientes o sistema precisa manter as duas bibliotecas carregadas, o que consome mais memória RAM e processamento. Os próprios aplicativos demoram mais para carregar “fora de casa”, pois é preciso primeiro carregar as bibliotecas e outros componentes necessários para depois começar o carregamento do aplicativo em si. Um exemplo clássico é o Konqueror, que abre quase que instantaneamente no KDE, mas pode demorar quase 10 segundos para carregar no GNOME.
Essas dificuldades fazem com que a maioria das distribuições dêem preferência para um dos dois ambientes, priorizando os aplicativos e ferramentas de configuração desenvolvidas para ele.
Isso explica por que o Ubuntu é centralizado em torno de aplicativos do GNOME, enquanto no Kubuntu eles são substituídos por aplicativos similares da família do KDE, por exemplo. Isso acaba pesando na escolha da distribuição: se você prefere o KDE, vai se sentir mais à vontade usando o Mandriva ou o Kubuntu do que usando o Ubuntu ou o Fedora, por exemplo; e vice-versa.
Pesquisando sobre o KDE por aí, você encontrará referências a um problema relacionado à licença da biblioteca Qt, que leva muitos a dizerem que o KDE “não é livre” até os dias de hoje.Em 1997, quando o KDE começou a ser desenvolvido, a biblioteca Qt era de uso gratuito, mas não tinha o código aberto, o que gerou uma grande polêmica e levou ao surgimento do GNOME, baseado na biblioteca GTK (que já era largamente utilizada em aplicativos como o Gimp).
Com o crescimento do KDE e a possibilidade de formar uma grande comunidade de desenvolvedores, que impulsionariam o desenvolvimento e o uso da sua biblioteca, a TrollTech resolveu liberar a Qt sob a GPL em setembro de 2000, o que removeu este entrave inicial. Em 2009, a Qt foi licenciada sob a LGPL, que é uma licença ainda mais liberal, que permite o uso também em aplicativos de código fechado.
Assim como em outros casos, tanto o KDE quanto o GNOME passaram por muitas mudanças ao longo de sua história. O KDE passou por 3 grandes transformações: do KDE 1 para o KDE 2, do KDE 2 para o KDE 3 e, mais recentemente, do KDE 3 para o KDE 4, que trouxe uma interface quase que completamente redesenhada e um novo painel de controle. Por ser baseado em uma versão diferente da biblioteca Qt, o KDE 4 trouxe também versões diferentes dos aplicativos, que precisaram ser portados. Muitos dos aplicativos usados no KDE 3 foram abandonados no processo, sendo substituídos por outros.
O GNOME também passou por uma grande transformação com o lançamento do GNOME 2 em 2002, que marcou a migração da biblioteca GTK para a GTK2, uma versão atualizada que, embora mais pesada, oferece bem mais funções. Assim como no caso do KDE 4, a migração resultou em grandes mudanças na interface e nas opções de configuração. De lá pra cá, o GNOME passou a evoluir de maneira gradual, mantendo um ambiente mais ou menos consistente entre as versões. Esta estabilidade foi um fator que ajudou no crescimento e na popularização da interface.


