Um sistema de janelas não precisa ter um servidor, mas você pode decidir implementar o sistema de janelas com base no modelo cliente-servidor. Fazer isso tem várias vantagens, pois você separa claramente as atividades no cliente e no servidor, elas não precisam ser executadas na mesma máquina e é mais fácil atender vários clientes. No momento, isso ainda é muito útil (por exemplo, quando você ssh
entra em outra máquina), mas é necessário perceber que, na época em que o X foi desenvolvido, isso era visto como uma necessidade: sua máquina local pode não ser poderosa o suficiente para executar o cliente.
Os pipes nomeados não oferecem a vantagem automática de poder executar sobre a rede, como faria uma implementação TCP. Porém, pipes nomeados não estavam disponíveis no DOS, com o DosExtender executando o Desqview / X (1992) e o AFAIK também não no VMS. Para essas implementações, uma comunicação específica do Unix seria um problema.
O TCP não é específico do Unix e é possível que um cliente seja executado no VAX / VMS (desenvolvimento do X iniciado em 1984) e servindo a saída para a estação de trabalho gráfica baseada em UNIX local. Do "Sistema X Window: a referência completa para Xlib, X Protocol, ICCCM, XLFD" ¹:
Durante o outono de 1986, a Digital decidiu basear toda a sua estratégia de estação de trabalho de desktop para ULTRIX, VMS e MS-DOS no X. Embora isso fosse gratificante para nós, também significava que tínhamos ainda mais pessoas com quem conversar. Isso resultou em algum atraso, mas, no final, também resultou em um design melhor. Ralph Swick, da Digital, ingressou no Project Athena durante esse período e desempenhou um papel vital no desenvolvimento da versão 11. A última versão 10 foi disponibilizada em dezembro de 1986.
No "Manual de Referência do Protocolo X" ²:
Divisão de responsabilidades
No processo de projetar o protocolo X, muita reflexão foi feita na divisão de capacidade entre o servidor e o cliente, pois isso determina quais informações devem ser passadas para frente e para trás através de solicitações, respostas e eventos. Uma excelente fonte de informações sobre a lógica por trás de certas escolhas feitas no design do protocolo é o artigo The X Window System, de Robert W. Scheifler e Jim Gettys, publicado na revista Transaction on Graphics da Association of Computing Machinery, vol. 2 de abril de 1986 As decisões finalmente tomadas foram baseadas na portabilidade dos programas do cliente, na facilidade de programação do cliente e no desempenho.
Primeiro, o servidor foi projetado, na medida do possível, para ocultar as diferenças no hardware subjacente dos aplicativos clientes. ...
Lembro-me do artigo no TOG sendo uma leitura interessante. Certamente desencadeou meu interesse em X e (isso foi antes da WorldWideWeb) a dificuldade que tivemos em colocar minhas mãos em mais informações até O'Reilly começar a publicar seus livros da série X.
¹ X Versão 11, versão 4, página 2-X, PDF disponível on-line aqui
² Esta é da página 9 da 2ª edição, publicada por O'Reilly, que comprei em 1990. Existem edições mais recentes, mas nunca me preocupei em comprar estes e eles são AFAIK disponíveis apenas em papel também. Eu não acho que eles mudaram a lógica da divisão de responsabilidades.