No sistema de janela X, um modelo cliente-servidor rege como os aplicativos (clientes) interagem com o display (servidor). Não é um único programa, mas um design arquitetônico fundamental.
Aqui está um colapso:
* servidor
x: Este é o componente principal, executando na máquina de exibição. Ele gerencia o hardware de exibição (tela, teclado, mouse), desenhando gráficos, lidando com eventos de entrada e gerenciando o Windows. Pense nisso como a "placa de desenho" central e o manipulador de eventos. Está sempre em execução na máquina de exibição.
*
x clientes: Estes são aplicativos (como um navegador da web, editor de texto ou jogo) que solicitam ao servidor X para exibir gráficos e lidar com a entrada do usuário. Eles não acessam diretamente o hardware; Em vez disso, eles se comunicam com o servidor X por meio de protocolos de rede (geralmente localmente, mas podem ser remotamente). Eles enviam comandos de desenho (por exemplo, "Desenhe um retângulo aqui") e recebem eventos (por exemplo, "Mouse Clique nesta posição").
como funciona: 1.
Solicitação do cliente: Um cliente X deseja exibir algo. Ele envia uma solicitação para o servidor X sobre uma conexão de rede.
2.
Processamento do servidor: O servidor X recebe a solicitação, valida (verificações de segurança etc.) e a executa. Isso envolve manipular o hardware de exibição para renderizar o visual.
3.
Resposta do servidor (opcional): O servidor pode enviar informações de volta ao cliente, como confirmar a solicitação ou enviar notificações de eventos (como um clique do mouse).
4.
Atualização de exibição: As alterações são visíveis na tela.
aspectos-chave do modelo cliente-servidor em x: *
transparência de rede: O cliente e o servidor podem residir em diferentes máquinas. Isso permite que os usuários acessem aplicativos em execução em um servidor poderoso a partir de uma máquina cliente menos poderosa. Esta é a base do encaminhamento X11 (por exemplo, usando SSH para acessar uma área de trabalho remota).
*
Design modular: Os clientes são independentes um do outro e do servidor. Novos aplicativos podem ser facilmente adicionados sem modificar o servidor.
*
implicações de segurança: Como os clientes se comunicam com o servidor em uma rede, a segurança é uma preocupação crítica. O X11 possui mecanismos para gerenciar o controle de acesso e a autenticação.
Em resumo, o "cliente-servidor" no sistema de janelas X não é um aplicativo específico, mas a arquitetura subjacente que permite que vários aplicativos independentes interajam com uma única tela, potencialmente em uma rede. O servidor X é a autoridade central que gerencia o hardware de exibição e os clientes X são os aplicativos que solicitam serviços dele.