Що означає DISPLAY =: 0,0 насправді означає?


45

Що :0.0насправді означає? Я знаю, що :0це перший X-сервер, який запускається на локальній машині, :1другий і т. Д. Але що це за .0частина після :0? Чи існують інші комбінації? (наприклад :0.0-something)

Передумови: Я намагаюся вдосконалити інтрибут джмеля, який передбачає, що :0це активний показ. Це не так, якщо я перемикаю користувачів. Тому я хотів перевірити $DISPLAYзмінну, перш ніж передавати її vglclient.


2
FWIW, en.wikipedia.org/wiki/X_Window_System#Nomenclature допомогла мені зрозуміти деякі з цих термінів. Ця відповідь також має корисну інформацію.
waldyrious

Відповіді:


52

Формат змінної відображення - [host]:<display>[.screen].

host посилається на ім’я мережевого хоста, а якщо воно відсутнє, означає підключитися до локальної машини через сокет домену Unix.

Кожен хост може мати кілька дисплеїв, а кожен дисплей може мати кілька екранів. Екрани більше не використовуються, а xinerama і xrandr тепер поєднують кілька екранів в один логічний екран.


4
Дякую, я щойно знайшов потрібну сторінку керівництва, Xserver(1)згадану в DISPLAY NAMESрозділі " X(7). Детальну інформацію див. На цій сторінці керівництва.
Лекенштейн

5
І як я можу отримати список доступних дисплеїв для певного хоста? В ідеалі в сеансі ssh, де я входив на хості з клієнтського ПК.
con-f-use

3
Дисплейна частина також використовується на X через SSH. Кожному новому з’єднанню SSH з включеною переадресацією X призначається інший дисплей, оскільки ці екрани внутрішньо відповідають зсуву номера порту TCP, наприклад DISPLAY=localhost:10.0, клієнт направить графічний вихід на localhostпорт хосту 6010. Це потрібно для пересилання SSH X, тому що якщо у вас є кілька підключень до одного комп’ютера, ваша програма повинна надсилати різні виходи в різні порти, щоб сервер SSH міг пересилати висновок X до потрібного пункту призначення.
RAKK

4
@Raza: Номери TCP-портів, які потрібно відкрити, складають 6000 + display_number. Для хоста дисплея: 0,0, це порт 6000. Для хоста дисплея: 10,0, це порт 6010. Зауважте, що пересилання SSH X11 здійснюється через порт 22, а не порт X11.
camh

1
@Claudiu: DISPLAY =: 0 буде використовувати сокет домену unix, DISPLAY = localhost: 0 використовуватиме розетку домену Internet (IP). Ймовірно, ваш X-сервер не прослуховує кінцеву точку TCP / IP. Я не знаю сокет домену Unix за замовчуванням.
camh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.