Originalmente chamado simplesmente de X, foi desenvolvido noMIT em1984. Atualmente está na versão 11, publicada em setembro de 1987, e por isso carrega no nome este número.
Os servidores do sistema X-Window são executados em computadores com displays baseados em mapas debits (bitmap). O servidor distribui as ações de entrada do usuário (mouse eteclado) e aceita os pedidos de saída através de vários programas clientes através de uma variedade de diferentes canais de comunicação entre processos. Mesmo sabendo que o caso mais comum de uso é de programas clientes rodando na mesma máquina do servidor, os clientes podem rodar de forma transparente em máquinas diferentes (inclusive com arquiteturas esistemas operacionais diferentes).
Captura de tela do X em execução com diversosaplicativos sendo utilizados
O X (como é comumente chamado) funciona segundo o modelocliente-servidor: oservidor X recebe os pedidos via uma porta, umcliente X conecta-se ao servidor X e envia seus pedidos utilizando oprotocolo X através dabiblioteca X (Xlib). Este modelo de comunicação permite o uso de janelas de modo transparente através da rede.
O X suporta operações de janelas (overlapping hierarchical subwindows) e operações de texto e gráficos, emdisplays preto e branco ou coloridos.
Nosistema X Window, osprogramas rodam como clientes X e desta forma eles se conectam aoservidor de janela X, possivelmente através de umarede de computadores. Uma vez que a rede pode ser acessível a outrosusuários, é necessário um método para proibir o acesso a programas executados por usuários diferentes daquele que está logado.[1]
Há cinco mecanismos de controle de acesso padrões que controlam se uma aplicação cliente pode conectar a um servidor de janelas X. Eles podem ser agrupados em três categorias:
acesso baseado em hospedeiro
acesso baseado emcookie
acesso baseado em usuário
Adicionalmente, assim como em qualquer outra conexão de rede, otunelamento pode ser usado.
O método de acesso baseado em hospedeiro (host) consiste na especificação de um conjunto de máquinas que estão autorizadas a se conectar ao servidor de janela X. Este sistema é considerado obsoleto, pois permite que qualquer usuário que tenha acesso a um hospedeiro se conecte à tela. O programaxhost e três requisições doprotocolo do núcleo do Sistema X Window são usados para ativar esse mecanismo e para exibir e alterar a lista de hospedeiros autorizados. O uso inadequado dexhost pode inadvertidamente dar a cadahost na Internet pleno acesso a um servidor de exibição X.
Os métodos de autorização baseados emcookies são baseados na escolha de umcookie mágico (um pedaço arbitrário de dados) e a passagem dele para o servidor quando ele é iniciado. Cada cliente que pode provar ter o conhecimento dessecookie é então autorizado para conectar-se ao servidor.
Esses cookies são criados por um programa separado e armazenados no arquivo.Xauthority[2] no diretório home do usuário, por padrão. Como resultado, todos os programas executados pelo cliente no computador local podem acessar esse arquivo e, portanto, o cookie, que é necessário para ser autorizado pelo servidor. Se o usuário deseja iniciar um aplicativo a partir de outro computador da rede, ocookie tem que ser copiado para aquele outro computador. Como ocookie é copiado é uma questão dependente do sistema: por exemplo, em plataformas dotipo Unix,scp pode ser usado para copiar o cookie.
Os dois sistemas que utilizam este método sãoMIT-MAGIC-COOKIE-1 eXDM-AUTHORIZATION-1. No primeiro método, o cliente simplesmente envia o cookie quando solicitado a se autenticar. No segundo método, umachave secreta também é armazenada no arquivo.Xauthority. O cliente cria uma sequência concatenando o tempo atual, um identificador dependente de transporte, e ocookie criptografa astring resultante, e envia para o servidor.
A aplicaçãoxauth é um utilitário para acessar o arquivo.Xauthority.
Os métodos de acesso baseado em usuário funcionam autorizando usuários específicos a se conectarem ao servidor. Quando um cliente estabelece uma conexão com um servidor, ele tem que provar que está sendo controlado por um usuário autorizado.
Os dois métodos baseados em autenticação de usuários sãoSUN-DES-1 eMIT-KERBEROS-5. O primeiro sistema é baseado em um mecanismo de chamada de procedimento remoto de segurança desenvolvido noSunOS. O segundo mecanismo é baseado na confiabilidade do cliente e servidor em um servidorKerberos.
(Lista obtida a partir da página de manual do X (7), que está disponível em inglês na maioria das distribuições Linux pelo pacote "xorg-doc" ou "xorg-docs").
e um utilitário para redesenhar parte da tela,xrefresh.
Muitos outros utilitários, gerenciadores de janelas, jogos,kits de desenvolvimento, etc, estão incluídos comosoftwares de usuários contribuintes na distribuição do Consórcio X, ou estão disponíveis emsites de FTP anônimo naInternet.