Les réponses existantes ne tiennent pas compte de la situation dans son ensemble.
Si vous n'utilisez pas d'environnement graphique (c'est-à-dire si vous vous connectez sur la console système sans Windows, etc., ou si vous vous connectez à distance à partir d'un terminal en mode texte via SSH ou similaire, par exemple à partir d'un ordinateur Windows exécutant PuTTY), aucune interface graphique n'est impliquée. DISPLAY
sera généralement désactivé. Votre seul moyen de communiquer avec l'ordinateur est la ligne de commande (bien qu'il puisse y avoir des moyens de pivoter dans une session GUI si vous savez comment).
Si vous vous connectez à la console à l'aide d'une interface graphique (sur Ubuntu, on utilise généralement le greeter GDM) ou à l'aide d'un terminal graphique (par exemple à partir d'un ordinateur Windows exécutant eXceed ou mobaX, ou un logiciel de bureau à distance tel qu'un client VNC), l'option DISPLAY
est configurée par le programme qui gère votre session graphique pour indiquer aux clients graphiques les périphériques d'E/S auxquels se connecter.
Traditionnellement, l'interface graphique d'un ordinateur Ubuntu fonctionnait avec X.org, une implémentation de X11, bien que plus récemment, un remplacement modernisé appelé Mir ait été introduit par Canonical ; et encore plus récemment, je crois que Mir sera abandonné au profit d'un autre projet aux objectifs largement similaires, appelé Wayland. . Ces remplacements ont pour but de réduire la complexité d'une pile X11 complète, que nous ne détaillerons pas ici - ils adhèrent aux mêmes principes que la pile X11. DISPLAY
convention, qui est après tout ce dont nous discutons ici.
Sous X11, la partie hôte de DISPLAY
pourrait être un serveur distant, et vous utiliseriez votre ordinateur Ubuntu comme un "terminal graphique" pour accéder aux fichiers et aux programmes de ce serveur distant (dans ce cas, votre ordinateur est le "serveur" qui fournit un clavier, une souris et un ou plusieurs périphériques d'affichage aux programmes "clients" exécutés sur le serveur ... distant). Plus couramment, le serveur X11 (ou Mir, ou Wayland) et les programmes clients (un gestionnaire de bureau et divers clients graphiques tels qu'un navigateur Web, un client de messagerie, un programme de calendrier, etc.) sont tous exécutés sur votre ordinateur. Cela est indiqué par la partie "serveur" de l'expression DISPLAY
qui, dans ce dernier cas, est généralement vide (ce qui implique la valeur par défaut, localhost
).
Un serveur X11 peut exécuter une ou plusieurs sessions graphiques -- par exemple, votre connexion à la console et une session VNC distante peuvent être exécutées en même temps. Dans ce cas (s'ils sont gérés par la même instance de serveur X11), vous avez plus d'un "affichage" en termes de X11. En pratique, une session (un événement de connexion et l'instance de bureau qui en découle) constitue un seul affichage dans X11.
Un tel affichage peut comporter un ou plusieurs écrans. Traditionnellement, cela signifiait un seul moniteur, bien que l'architecture d'origine présentait quelques caractéristiques malheureuses telles que l'impossibilité de déplacer une fenêtre d'un écran à l'autre. Des modules complémentaires tels que Xinerama et Xrandr ont rendu la situation encore plus confuse, au point qu'un écran est souvent relié à plusieurs moniteurs de diverses manières.
Si vous avez joué avec des systèmes à plusieurs moniteurs, vous avez probablement découvert que vous pouvez disposer les moniteurs de différentes manières et vous retrouver avec une zone rectangulaire dont certaines parties sont affichées par vos moniteurs et d'autres ne sont assignées à aucun moniteur. C'est l'"écran" que X11 crée, et si vous avez plus d'une carte d'affichage, vous pouvez avoir plusieurs de ces écrans, chacun assigné à un ou plusieurs moniteurs (ou en théorie, fonctionnant sans moniteur ; Xvfb exploite ceci pour vous permettre de faire fonctionner X11 sans aucun moniteur, en mappant simplement l'interface graphique à une région de la mémoire pour n'importe quel but).