Существующие ответы не учитывают более широкую картину.
Если вы не используете графическую среду (т.Е. Вы входите в систему на системной консоли без Windows и т.д.; или вы входите в систему удаленно с текстового терминала по SSH или аналогичного, например, с компьютера под управлением Windows, на котором работает PuTTY), тогда графический интерфейс не задействован, и DISPLAY
обычно будет сброшен. Ваше единственное средство связи с компьютером - это командная строка (хотя могут быть способы перехода к сеансу графического интерфейса, если вы знаете, как это сделать).
Если вы входите в систему на консоли с графическим интерфейсом (в Ubuntu обычно используется GDM greeter) или с помощью графического терминала (например, с компьютера под управлением Windows под управлением eXceed или mobaX или программного обеспечения для удаленного рабочего стола, такого как клиент VNC), DISPLAY
переменная настраивается программой, которая управляет вашим графическим сеансом, чтобы указывать графическим клиентам, к каким устройствам ввода-вывода подключаться.
Традиционно графический интерфейс на компьютере с Ubuntu был запущен X.org , реализация X11, хотя совсем недавно Canonical представила модернизированную замену под названием Mir; и даже совсем недавно, я полагаю Мир будет оставлен в пользу другого проекта с аналогичными целями под названием Wayland. Эти замены предназначены для уменьшения сложности полного стека X11, в который мы здесь не будем вдаваться - они придерживаются того же DISPLAY
конвенция, которая, в конце концов, и есть то, что мы здесь обсуждаем.
На X11 хост-часть DISPLAY
может быть удаленным сервером, и вы бы использовали свой компьютер Ubuntu в качестве "графического терминала" для доступа к файлам и программам на этом удаленном сервере (в этом случае ваш компьютер является "сервером", который обслуживает клавиатуру, мышь и одно или несколько устройств отображения для "клиентских" программ, запущенных на пульт дистанционного управления ... сервер). Чаще всего сервер X11 (или Mir, или Wayland) и клиентские программы (менеджер рабочего стола и различные графические клиенты, такие как веб-браузер, почтовый клиент, программа календаря и т.д.) запускаются на вашем компьютере. На это указывает раздел "сервер" в DISPLAY
значение, которое в последнем случае обычно является пустым (что подразумевает значение по умолчанию, localhost
).
Сервер X11 может запускать один или несколько графических сеансов - например, ваш консольный логин и удаленный сеанс VNC могут выполняться одновременно. В этом случае (если они управляются одним и тем же экземпляром сервера X11) у вас есть более одного "отображения" в терминах X11. На практике один сеанс (одно событие входа в систему и созданный на его основе экземпляр рабочего стола) - это одно отображение в X11.
Один такой дисплей может иметь один или несколько экранов. Традиционно это означало один монитор, хотя оригинальная архитектура имела некоторые неудачные черты, такие как невозможность перемещать окно с одного экрана на другой. Такие дополнения, как Xinerama и Xrandr, еще больше запутали ситуацию до такой степени, что один экран часто соединяет несколько мониторов различными способами.
Если вы играли с системами с несколькими мониторами, вы, вероятно, обнаружили, что вы можете расположить мониторы различными способами и в итоге получить прямоугольную область, где ваши мониторы отображают некоторые ее части, а другие части не назначены ни одному монитору. Это "экран", который создает X11, и если у вас более одной карты отображения, у вас может быть несколько таких экранов, каждый из которых назначен одному или нескольким мониторам (или, теоретически, работает без монитора; Xvfb использует это, чтобы позволить вам запускать X11 без каких-либо мониторов, просто сопоставляя графический интерфейс к области памяти для любой цели).