qual é a diferença entre o X11 e o Xlib?

4

Não tenho certeza se acertei. O Xlib é uma biblioteca para interagir com o servidor X. X11 é apenas outro nome para o servidor X.

O servidor X é apenas uma biblioteca única? Em caso afirmativo, por que não podemos acessá-lo diretamente? por que precisamos do Xlib?

Obrigado antecipadamente

    
por KawaiKx 09.03.2014 / 08:42

2 respostas

11

Na verdade, estritamente falando, X11 é o protocolo de comunicação entre um aplicativo cliente X e um servidor X. O servidor X é a parte do sistema que se comunica com o hardware e fornece conceitos básicos, em particular a noção de uma janela na tela, com janelas potencialmente sobrepostas e uma janela com o foco de entrada. (O servidor X não manipula decorações de janelas, menus, atalhos de teclado ou qualquer outra coisa que seja trabalho do gerenciador de janelas .)

X é chamado X porque era (em parte) um sucessor do sistema de janelas W , e X11 é a versão 11 de X. Demorou cerca de 3 anos para chegar à versão 11 (de 1984 a 1987) e o protocolo central tem sido estável desde então.

O X11 também é o nome base de uma distribuição de software que inclui bibliotecas, aplicativos clientes e código do servidor usando o protocolo X11. Essa distribuição de software é conhecida como X Window System (versão 11) ou X ou X11. Esta distribuição de software veio originalmente do MIT, onde X tinha sido inventado; em seguida, teve uma história às vezes tumultuada , com um consórcio liderado pelo MIT produzindo versões até X11R6.3 .

Hoje em dia, a implementação de referência de fato do Sistema X Window é aquela da Fundação X.Org . Esta é uma implementação utilizável, usada por praticamente todas as instalações do X11 atualmente.

Existem vários servidores X , a maioria deles compartilhando uma base de código. A maioria dos usuários usa o servidor Xorg do X.org, que se comunica com a maioria dos hardwares de exibição. Existem outros servidores, como Xnest , que mostra uma exibição X dentro de uma janela X em outra exibição e Xvfb , que é uma exibição virtual que permanece apenas na memória.

Xlib (que tem o nome do objeto compartilhado libX11 ) é apenas uma das bibliotecas no Sistema X Window . É um wrapper básico em torno do lado do cliente do protocolo X11. Quase todos os clientes X usam essa biblioteca (muitos deles indiretamente por meio de bibliotecas de nível superior).

    
por 10.03.2014 / 02:50
8

O "X Window System versão 11" é a coisa toda.

O servidor X11 não é uma biblioteca, mas um programa que manipula pelo menos um buffer de quadro obrigatório e geralmente dispositivos de entrada como um teclado, um mouse ou uma tela sensível ao toque. Existem várias implementações de servidores X, sendo o proeminente X.org . Alguns deles não estão lidando diretamente com uma combinação física de exibição / mouse / teclado, mas são puramente software, como Xnest , Xephyr , Xvfb , Xvnc .

Clientes X11 também são programas, conectando-se local ou remotamente ao servidor X usando o Protocolo X11 , exibindo janelas, desenhando gráficos, pixmaps e texto dentro deles e obtendo eventos de dispositivos de entrada. Note que alguns clientes X como Xephyr também são servidores X, alguns são outros servidores de protocolos X11vnc , e alguns são clientes para mais de um servidor: x2x .

Existe uma classe específica de clientes, denominada gerenciadores de janela , que são projetados para (re) posicionar e decorar as janelas superiores. Ao contrário de outros sistemas de janelas, o usuário pode escolher qual gerenciador de janelas gostaria de usar.

A maioria dos clientes usa direta ou indiretamente o Xlib na parte inferior nível, mas existem alternativas como Xcb . Normalmente, os clientes estão usando ferramentas de nível superior, como o GTK + , QT e muitos outros para simplificar o desenvolvimento e fornecer uma aparência homogênea.

    
por 09.03.2014 / 11:06

Tags