Avant l'apparition du Système X-Window (The X Window System, appelé X), UNIX était un système d'exploitation basé sur le mode ``console'' et ne disposait pas d'un environnement graphique couramment appelé en anglais GUI pour Graphical User Interface. X a été conçu pour combler ce manque et pour permettre d'utiliser en mode graphique toute la puissance des ordinateurs mis en réseau.
Le développement d'X a commencé en 1985 au Massachussetts Institute of Technology par le consortium X et il est maintenant la propriété de l'Open Software Foundation. Le système X-Window représente plus de deux millions de lignes de code C et fonctionne sur toutes les variantes d'UNIX.
Vous pourriez imaginer que la mise en oeuvre d'un système graphique sur un écran ne consiste essentiellement qu'en la création d'une bibliothèque utilisateur pouvant réaliser des fonctions telles que le tracé de lignes, de polices de caractères, etc. Pour comprendre pourquoi X est bien plus que cela, nous allons d'abord considérer l'exemple des applications fonctionnant sur des terminaux classiques: il s'agit de programmes exécutés sur une machine distante alors qu'ils effectuent simultanément un affichage sur un terminal caractère et reçoivent des retours de frappe clavier (ou feedback) de ce terminal caractère. Il y a donc deux entités à l'oeuvre: l'application elle-même et l'affichage à l'écran. Or, ces deux applications sont en interaction via une connexion série ou via un réseau. A présent, que se passerait-il si le terminal caractère pouvait aussi afficher des fenêtres et des graphiques en plus du texte, alors que s'effectue un retour vers une application faisant appel à une souris (ou un clavier)? C'est précisément là qu'intervient X.