Citando X(7)
:
From the user's perspective, every X server has a display name of the form:
hostname:displaynumber.screennumber
Cada servidor X possui um monitor (que pode incluir vários monitores ou até mesmo nenhum monitor). Usar vários monitores (no sentido X) requer vários servidores X; é assim que você consegue vários lugares também.
No que diz respeito ao compartilhamento, acho que cada servidor X espera "possuir" os dispositivos que está usando a qualquer momento, então você não pode ter entrada de um único teclado indo para vários servidores X simultaneamente, ou a saída de vários servidores X combinados em um único monitor. Os servidores X podem entregar o hardware, o que permite que você execute servidores X em vários VTs e alterne entre eles (é assim que os logins simultâneos são tratados , por exemplo, no GNOME). Você também pode aninhar alguns servidores X ( Xephyr
, xpra
...), então a entrada vai para o seu servidor X atual principal e é passada para o servidor X aninhado em uma janela; e a saída do servidor X aninhado é exibida em uma janela pelo servidor X principal.
No Linux, você pode escrever um driver de entrada de multiplexação na camada de entrada para compartilhar dispositivos de entrada, mas essa é uma camada completamente diferente do servidor X.