Istniejące odpowiedzi nie odnoszą się do szerszego obrazu.
Jeśli nie korzystasz ze środowiska graficznego (tj. Logujesz się na konsoli systemowej bez systemu Windows itp. Lub logujesz się zdalnie z terminala tekstowego za pośrednictwem SSH lub podobnego, na przykład z komputera z systemem Windows z uruchomionym programem PuTTY), GUI nie jest zaangażowane i DISPLAY
zwykle nie jest ustawione. Jedynym sposobem komunikowania się z komputerem jest linia poleceń (choć mogą istnieć sposoby przestawienia się na sesję GUI, jeśli wiesz jak).
Jeśli logujesz się na konsoli za pomocą interfejsu graficznego (w systemie Ubuntu, zwykle używany jest moduł powitalny GDM) lub używasz terminala graficznego (na przykład z komputera z systemem Windows z uruchomionym oprogramowaniem eXceed lub mobaX lub z oprogramowania zdalnego pulpitu, takiego jak klient VNC), DISPLAY
Zmienna jest konfigurowana przez program, który zarządza sesją graficzną w celu wskazania klientom graficznym, z którymi urządzeniami We / Wy się połączyć.
Tradycyjnie w GUI na komputerze Ubuntu działała X.org, implementacja X11, choć ostatnio firma Canonical wprowadziła zmodernizowany zamiennik o nazwie Mir; a jeszcze bardziej wierzę, że Mir zostanie porzucony na rzecz innego projektu o zasadniczo podobnych celach, zwanego Wayland . Zamienniki te mają na celu zmniejszenie złożoności pełnego stosu X11, do którego tutaj nie będziemy wchodzić - są zgodne z tą samą DISPLAY
konwencją, o której przecież mówimy tutaj.
Na X11 hostem DISPLAY
może być serwer zdalny, a komputer Ubuntu byłby używany jako „terminal graficzny” do uzyskiwania dostępu do plików i programów na tym serwerze zdalnym (w takim przypadku komputer jest „serwerem” obsługującym klawiaturę , mysz i jedno lub więcej urządzeń wyświetlających do programów „klienckich” działających na zdalnym ... serwerze). Częściej serwer X11 (lub Mir lub Wayland) i programy klienckie (menedżer pulpitu i różne klienty graficzne, takie jak przeglądarka internetowa, klient poczty e-mail, program kalendarza itp.) Działają na komputerze. Wskazuje na to część „serwerowa” DISPLAY
wartości, która w tym ostatnim przypadku jest zazwyczaj pusta (co implikuje wartość domyślną localhost
).
Serwer X11 może uruchamiać jedną lub więcej sesji graficznych - na przykład logowanie do konsoli i zdalna sesja VNC mogą być uruchomione w tym samym czasie. W takim przypadku (jeśli są zarządzane przez tę samą instancję serwera X11), masz więcej niż jeden „ekran” w kategoriach X11. W praktyce jedna sesja (jedno zdarzenie logowania i instancja pulpitu spawnowana z tego) to jeden ekran w X11.
Jeden taki wyświetlacz może mieć jeden lub więcej ekranów. Tradycyjnie oznaczało to jeden monitor, chociaż oryginalna architektura miała pewne niefortunne cechy, takie jak niemożność przeniesienia okna z jednego ekranu na drugi. Dodatki, takie jak Xinerama i Xrandr, jeszcze bardziej zawiedli sytuację do tego stopnia, że jeden ekran często łączy wiele monitorów na różne sposoby.
Jeśli grałeś na systemach z wieloma monitorami, prawdopodobnie odkryłeś, że możesz rozmieszczać monitory na różne sposoby i otrzymać prostokątny obszar, w którym monitory wyświetlają niektóre jego części, a inne nie są przypisane do żadnego monitora. Jest to „ekran”, który tworzy X11, a jeśli masz więcej niż jedną kartę graficzną, możesz mieć wiele z tych ekranów, z których każdy jest przypisany do jednego lub więcej monitorów (lub teoretycznie działa bez monitora; Xvfb wykorzystuje to, aby umożliwić możesz uruchomić X11 bez żadnych monitorów, po prostu mapując GUI do regionu pamięci dla dowolnego celu).
echo $DISPLAY
drukuje się:0
NIE:0.0