Існуючі відповіді не вдається вирішити більш широку картину.
Якщо ви не використовуєте графічне середовище (тобто ви входите на системну консоль без вікон тощо; або ви входите віддалено з текстового терміналу через SSH або подібне, наприклад, з комп'ютера з Windows під управлінням PuTTY), не задіяний графічний інтерфейс, і DISPLAY
він зазвичай не налаштований. Вашим єдиним засобом спілкування з комп’ютером є командний рядок (хоча ви можете знати способи переходу в сеанс GUI, якщо ви знаєте, як).
Якщо ви входите на консоль за допомогою графічного інтерфейсу (на Ubuntu, зазвичай використовується привітання GDM) або використовуєте графічний термінал (наприклад, з комп'ютера Windows, на якому працює eXceed або mobaX, або програмного забезпечення віддаленого робочого столу, наприклад клієнта VNC) DISPLAY
змінна встановлюється програмою, яка керує вашим графічним сеансом, щоб вказати графічним клієнтам, до яких пристроїв вводу-виводу підключитися.
Традиційно GUI на комп'ютері 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 без будь-яких моніторів, просто зіставивши графічний інтерфейс користувача в область пам'яті з будь-якою метою).
echo $DISPLAY
друкує:0
НЕ:0.0