Definição de Xfree86
O Xfree é uma versão livre do sistema X11, que roda em vários sistemas, incluindo o Linux, BSD, Unix e até mesmo sobre o Windows, utilizando o Cygwin (http://www.cygwin.com).
O Xfree serve como base para a execução de qualquer programa gráfico. É 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.
Se você chamar o X sozinho (o que pode ser feito com o comando "X" ou "X :2" caso você queira abrir uma segunda seção do X), você verá apenas uma tela cinza, com um X que representa o cursor do mouse. Ou seja, o X é apenas uma base, ele sozinho não faz muita coisa.
Se você chama-lo com o comando "xinit" ou "xinit -- :2" você já 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, alterar para outra janela, etc.
Isto acontece por que estas tarefas são controladas pelo gerenciador de janelas, que não é carregado com o comando xinit. Existem vários gerenciadores de janelas, como o WindowMaker, blackbox, IceWM, KDE, Gnome, e assim por diante. A idéia é que você possa escolher qual lhe agrada mais.
Chamando o X através do comando "startx", ou configurando o Linux para já abrir o X durante a inicialização, finalmente carregamos o conjunto completo, com o X e algum gerenciador de janelas rodando sobre ele. Finalmente podemos usar o PC ;-)
O Xfree utiliza uma arquitetura cliente-servidor, onde o X em sà atua como o servidor e os programas como clientes, que recebem dele os clicks do mouse e as teclas digitadas no teclado e enviam de volta as janelas a serem mostradas na tela.
A grande vantagem deste sistema é que além de rodar programas localmente é possÃvel rodar programas instalados em outras máquinas da rede. Existem várias formas de fazer isto. Você pode por exemplo abrir uma janela de terminal dentro do X, conectar-se à outra máquina via SSH (ssh -X IP_da_maquina) e começar a chamar os programas desejados ou mesmo obter a tela de login da máquina remota e a partir daà carregar um gerenciador de janelas e rodar todos os programas via rede. Neste caso você precisaria configurar a outra máquina para aceitar as conexões e inicializar o X com o comando "X -query IP_da_maquina" no PC cliente. Você pode encontrar mais informações sobre isto no capÃtulo 7 do meu e-book "Entendendo e Dominando o Linux".