Что такое переменная среды DISPLAY $ DISPLAY?

Вы пробовали документы Gnome?

Документы GNOME - это автономное приложение для поиска, упорядочивания и просмотра ваших документов.

1
задан 12 January 2018 в 12:37

3 ответа

Из https://help.ubuntu.com/community/EnvironmentVariables:

Variable-DISPLAY

Значения Пример:

:0.0
localhost:10.0
terminal01:0.0

Что это такое for?

Эта переменная используется для указания графическим приложениям, где для отображения фактического графического пользовательского интерфейса значение состоит из трех частей: имя хоста, за которым следует двоеточие (:), после этого номер дисплея точкой (.) и номером экрана. Часть имени хоста может использоваться для вывода графического вывода на удаленную машину по сети. Его можно опустить, когда вывод предназначен для X-сервера, запущенного на локальном компьютере. Номер дисплея позволяет выбирать между несколькими X-серверами, работающими на одном компьютере (Ubuntu использует несколько серверов X для включения нескольких графических сеансов рабочего стола). Хотя номер экрана используется для выбора между несколькими физическими экранами, которые управляются одним и тем же сервером X, в настоящее время он редко устанавливается на что-либо, кроме «0». Вручную установка значения переменной среды DISPLAY редко требуется в настоящее время, поскольку она может автоматически и разумно настраиваться многими приложениями, такими как «GDM» и «SSH», когда это необходимо.
2
ответ дан 24 May 2018 в 10:56
echo $ DISPLAY напечатает: 0.0 на моей машине (на обоих мониторах). Что это значит?

: 0.0 означает номер дисплея 0 и номер экрана 0

echo $ DISPLAY будет печатать: 0.0 на моей машине (на обоих мониторах). Что это значит?

В этом случае $ DISPLAY будет пустым или NULL?

Есть ли какие-либо статьи или руководства по этому вопросу?

В случае ошибки в вашем DISPLAY, и это обычно не происходит

1 2 3
2
ответ дан 24 May 2018 в 10:56

Существующие ответы не могут адресовать более широкую картину.

Если вы не используете графическую среду (то есть вы входите в систему на системной консоли без окон и т. д. или вы заходите удаленно из текстовый терминал поверх SSH или аналогичный, например, с компьютера Windows, на котором запущен PuTTY), тогда никакой GUI не задействован, а DISPLAY обычно будет отменен. Единственное средство общения с компьютером - это командная строка (хотя могут быть способы поворота в сеанс GUI, если вы знаете, как это сделать).

Если вы заходите на консоль с графическим интерфейсом ( на Ubuntu, обычно используется GDM greeter) или с использованием графического терминала (например, с компьютера под управлением Windows с eXceed или mobaX или программного обеспечения для удаленного рабочего стола, такого как клиент VNC) переменная DISPLAY настраивается программой, которая управляет вашим графический сеанс, чтобы указать графическим клиентам, к которым подключаются устройства ввода / вывода.

Традиционно GUI на компьютере Ubuntu запускал X.org, внедрение X11, хотя в последнее время модернизированная замена под названием «Мир» был введен Canonical; и еще совсем недавно я считаю, что Мир будет оставлен в пользу другого проекта с широко подобными целями под названием Wayland. Эти замены предназначены для уменьшения сложности полного стека X11, который мы не будем здесь делать - они придерживаются того же DISPLAY соглашения, которое, в конце концов, мы обсуждаем здесь.

[d5 ] На X11 хост-часть DISPLAY может быть удаленным сервером, и вы будете использовать свой компьютер Ubuntu в качестве «графического терминала» для доступа к файлам и программам на этом удаленном сервере (в этом случае ваш компьютер является «сервером», который обслуживает клавиатуру, мышь и одно или несколько устройств отображения для «клиентских» программ, запущенных на удаленном ... сервере). Чаще всего на вашем компьютере запускаются сервер X11 (или Мир или Wayland) и клиентские программы (менеджер рабочего стола и различные графические клиенты, такие как веб-браузер, почтовый клиент, программа календаря и т. Д.). Это указывает «серверная» часть значения DISPLAY, которая в последнем случае обычно пуста (что подразумевает значение по умолчанию, localhost).

Сервер X11 может запускать один или более графические сеансы - например, вход в консоль и удаленный сеанс VNC могут работать одновременно. В этом случае (если они управляются одним и тем же экземпляром сервера X11), у вас есть несколько «показов» в терминах X11. На практике один сеанс (одно событие входа в систему и экземпляр рабочего стола, порожденный этим) представляет собой один дисплей в X11.

Один из таких дисплеев может иметь один или несколько экранов. Традиционно это означало один монитор, хотя оригинальная архитектура имела некоторые неудачные черты, такие как невозможность перемещения окна с одного экрана на другой. Дополнения, такие как Xinerama и Xrandr, еще больше загромождали ситуацию до такой степени, что один экран часто соединяет несколько мониторов различными способами.

Если вы играли в системах с несколькими мониторами, вы, вероятно, обнаружили, что можете организовать мониторы по-разному и заканчиваются прямоугольной областью, где ваши мониторы отображают некоторые ее части, а другие части не назначаются ни одному монитору. Это «экран», который создает X11, и если у вас более одной карты дисплея, вы можете иметь несколько из этих экранов, каждый из которых назначается одному или нескольким мониторам (или, теоретически, без монитора, Xvfb использует это, чтобы разрешить вы запускаете X11 без каких-либо мониторов, просто сопоставляя графический интерфейс с областью памяти для любой цели).

1
ответ дан 24 May 2018 в 10:56
  • 1
    Мир действительно был оставлен вместе с Единством. Долгое время lightdm вместо gdm был по умолчанию, но, возможно, эта часть вашего ответа снова стала правильной, как это было до восхождения Unity! Я использую MATE, поэтому я не могу проверить тривиально ... – Zanna 12 January 2018 в 12:48

Другие вопросы по тегам:

Похожие вопросы: