Système de fenêtrage
Un système de fenêtrage est un logiciel qui permet à l'utilisateur d'un ordinateur d'interagir via un clavier et un dispositif de pointage comme une souris avec plusieurs applications graphiques visibles simultanément. Chaque application s'affiche dans une ou plusieurs fenêtres qui sont des zones rectangulaires de l'écran. Ces fenêtres peuvent se recouvrir les unes les autres. L'utilisateur peut déplacer et redimensionner les fenêtres, les fermer temporairement ou leur faire occuper tout l'écran.
Du point de vue du programmeur, un système de fenêtrage fournit des primitives graphiques telles que le rendu de polices de caractères, le tracé de lignes. Ces primitives sont de plus haut niveau que les abstractions fournies directement par le matériel graphique.
Certains systèmes de fenêtrage, tels que X, proposent la transparence réseau permettant à l'utilisateur de faire tourner l'application sur l'ordinateur distant. Cette application distante est donc cliente du serveur de fenêtrage qui est une application locale. Avec X, le protocole n'est pas dynamiquement extensible et est de bas niveau, nécessitant une bande passante importante. L'alternative, un serveur de fenêtrage programmable comme NeWS n'a pas rencontré de succès commercial.
Système de fenêtrage virtuel
Un système de fenêtrage peut être virtuel. Désignons par locaux l'ordinateur et le système de fenêtrage avec lesquels l'utilisateur interagit physiquement.
Un système de fenêtrage virtuel peut tourner en local et apparaître dans une fenêtre du système de fenêtrage local réel. Ainsi l'application Xnest fournit ce système de fenêtrage virtuel pour le système de fenêtrage X. Cela a peu d'intérêt. Xnest pourrait être utilisé sur une machine distante mais son démarrage est peu intuitif et l'utilisation du protocole X consommerait beaucoup de bande passante.
Un système de fenêtrage virtuel peut tourner de manière distante et permettre à l'utilisateur d'interagir avec plusieurs applications fenêtrées de cette machine. C'est le cas des systèmes de type VNC. Pour des performances correctes, le protocole X n'est pas utilisé. Le système de fenêtrage calcule les changements apportés par les opérations graphiques et les transmet à l'application d'affichage locale.
Une implantation Open Source de VNC est TightVNC.