Các câu trả lời hiện tại không giải quyết được bức tranh rộng lớn hơn.
Nếu bạn không sử dụng môi trường đồ họa (nghĩa là bạn đang đăng nhập trên bảng điều khiển hệ thống không có cửa sổ, v.v. hoặc bạn đang đăng nhập từ xa từ thiết bị đầu cuối chỉ có văn bản qua SSH hoặc tương tự, chẳng hạn như từ máy tính Windows chạy PuTTY) thì không có GUI nào liên quan và DISPLAY
thường sẽ không được đặt. Phương tiện duy nhất của bạn để giao tiếp với máy tính là dòng lệnh (mặc dù có thể có nhiều cách để xoay vòng vào phiên GUI nếu bạn biết cách).
Nếu bạn đang đăng nhập trên bảng điều khiển với giao diện đồ họa (trên Ubuntu, thông thường sử dụng công cụ chào hỏi GDM) hoặc sử dụng thiết bị đầu cuối đồ họa (như từ máy tính Windows chạy eXceed hoặc mobaX hoặc phần mềm máy tính từ xa như máy khách VNC) DISPLAY
biến được thiết lập bởi chương trình quản lý phiên đồ họa của bạn để chỉ ra cho các máy khách đồ họa mà thiết bị I / O kết nối tới.
Theo truyền thống, GUI trên máy tính Ubuntu đang chạy X.org, một triển khai X11, mặc dù gần đây, một sự thay thế được hiện đại hóa có tên Mir đã được Canonical giới thiệu; và thậm chí gần đây hơn, tôi tin rằng Mir sẽ bị từ bỏ để ủng hộ một dự án khác với các mục tiêu tương tự rộng rãi được gọi là Wayland . Những sự thay thế này nhằm làm giảm sự phức tạp của một ngăn xếp X11 đầy đủ, mà chúng ta sẽ không đi vào đây - chúng tuân thủ cùng một DISPLAY
quy ước, đó là sau tất cả những gì chúng ta đang thảo luận ở đây.
Trên X11, phần máy chủ của máy chủ DISPLAY
có thể là máy chủ từ xa và bạn sẽ sử dụng máy tính Ubuntu làm "thiết bị đầu cuối đồ họa" để truy cập các tệp và chương trình trên máy chủ từ xa đó (trong trường hợp đó máy tính của bạn là "máy chủ" phục vụ bàn phím , một con chuột và một hoặc nhiều thiết bị hiển thị cho các chương trình "máy khách" đang chạy trên máy chủ ... từ xa). Thông thường hơn, máy chủ X11 (hoặc Mir hoặc Wayland) và các chương trình máy khách (trình quản lý máy tính để bàn và các máy khách đồ họa khác nhau như trình duyệt web, ứng dụng email, chương trình lịch, v.v.) đều chạy trên máy tính của bạn. Điều này được biểu thị bằng phần "máy chủ" của DISPLAY
giá trị, trong trường hợp sau thường là trống (ngụ ý giá trị mặc định localhost
).
Máy chủ X11 có thể chạy một hoặc nhiều phiên đồ họa - ví dụ: đăng nhập bảng điều khiển của bạn và phiên VNC từ xa có thể chạy cùng một lúc. Trong trường hợp này (nếu chúng được quản lý bởi cùng một phiên bản máy chủ X11), bạn có nhiều "hiển thị" theo thuật ngữ X11. Trong thực tế, một phiên (một sự kiện đăng nhập và phiên bản máy tính để bàn xuất hiện từ đây) là một màn hình trong X11.
Một màn hình như vậy có thể có một hoặc nhiều màn hình. Theo truyền thống, điều này có nghĩa là một màn hình, mặc dù kiến trúc ban đầu có một số đặc điểm đáng tiếc như không thể di chuyển cửa sổ từ màn hình này sang màn hình khác. Các tiện ích bổ sung như Xinerama và Xrandr đã làm rối loạn thêm tình huống đến mức một màn hình thường kết nối nhiều màn hình theo nhiều cách khác nhau.
Nếu bạn đã chơi với nhiều hệ thống màn hình, có lẽ bạn đã phát hiện ra rằng bạn có thể sắp xếp màn hình theo nhiều cách khác nhau và kết thúc với một khu vực hình chữ nhật nơi màn hình của bạn hiển thị một số phần của nó và các phần khác không được gán cho bất kỳ màn hình nào. Đây là "màn hình" mà X11 tạo ra và nếu bạn có nhiều hơn một card màn hình, bạn có thể có nhiều màn hình này, mỗi màn hình được gán cho một hoặc nhiều màn hình (hoặc theo lý thuyết, chạy mà không cần màn hình; Xvfb khai thác điều này để cho phép bạn chạy X11 mà không cần bất kỳ màn hình nào, chỉ cần ánh xạ GUI vào vùng nhớ cho bất kỳ mục đích nào).
echo $DISPLAY
là in:0
KHÔNG:0.0