Где отображаются дисплеи, кроме «: 0»?

11

X Power Tools -book предлагает следующее предложение: «0»:

Дисплей 0 на локальном компьютере, подключенный по локальной схеме подключения

Я пытался открыть часы с помощью "xclock -display: 2", но я получил ошибку:

Не могу открыть дисплей:: 2

Как мне программировать, если я не могу заставить работать дисплеи? Вы действительно можете сделать все на этом? Как вы можете запускать программы, такие как Vim и gcc, на дисплеях 3 и 999? Где они?

Лео Леопольд Герц 준영
источник

Ответы:

5

В дополнение ко всем ссылкам на: 1,: 2 и т. Д .; Вы также можете указать имя сети или IP-адрес перед двоеточием, например, 192.168.0.1:0 - это подключится к машине по сети. Большинство современных X-серверов имеют аутентификацию («MIT-MAGIC-COOKIE»), вам придется разобраться с этим перед подключением - посмотрите xhostи xauth.

Кроме того, если вы используете ssh -X <remotehost>, то любые команды X, которые вы запускаете в этом сеансе ssh, будут подключаться к другому порту (быстрый тест на моем блоке показывает :10), который затем проталкивается через ваше соединение ssh обратно в блок, с которого вы приходите, и появится на вашем экране там.

AMADANON Inc.
источник
10

Это связано с сервером X Window. Они определяют количество отображаемых номеров.

Вам не нужно беспокоиться о явной поддержке номера дисплея; в лучшем случае вы просто передаете ссылку на клиентскую библиотеку X Window и позволяете ей разобраться.

Современные серверы могут сделать несколько дисплеев доступными с адаптерами с несколькими головками и с несколькими адаптерами. Подавляющее большинство времени :0будет вашим единственным дисплеем. Это потому, что на самом деле есть только один, и это номер по умолчанию, когда есть только один. Это можно сделать так :2, как это обычно, но все равно все будет в порядке.

Благодаря дисплеям с несколькими головками и / или нескольким картам X Server может управлять несколькими дисплеями как отдельными экранами (т. Е. При отключенных устройствах типа Xinerama). Тогда вы можете получить отображаемые номера, как :0.0и :0.1. Раньше я долго запускал такой рабочий стол. Ничего не сломалось, потому что все взяли номер дисплея и просто передали его в библиотеку X Client. Одним необычным преимуществом было то, что каждый экран получает свой собственный список виртуальных рабочих столов. На дисплее Xinerama вы не можете этого сделать. Но у вас есть недостаток в том, что вы не можете перемещать окна между экранами, потому что они имеют разные номера дисплея.

Вы даже можете делать такие вещи, как запуск нескольких X-серверов. Вот когда вы получаете :0и :1т. Д. Проблема в том, кто получает клавиатуру и мышь.


источник
vnc также использует: 1,: 2 и т. д.
Я собирался упомянуть об этом, но это не подходило, когда я впервые подумал об этом, а потом забыл позже.
В свое время я запускал сервер X11 в эмуляторе Mac ( en.wikipedia.org/wiki/Macintosh_Application_Environment ) на рабочей станции Sun. Я мог бы поместить xterm в собственное рабочее пространство Sun с: 0, а другой в эмулятор Mac с: 1.
Mouviciel
4

По умолчанию на машине обычно работает только один дисплей -: 0, который обычно установлен на VT 7.

Если вы запустите второй X-сервер, это будет: 1. Вы можете сделать это из командной строки, но проще всего выбрать «начать новый сеанс» в KDE (я предполагаю, что у GNOME есть какой-то эквивалент, но я не знаком с ним). Это позволяет вам снова войти на второй X-сервер, который будет работать на VT 8 (то есть вы можете переключаться между ними с помощью Ctrl-Alt-F7 и Ctrl-Alt-F8).

После этого вы сможете запускать приложения, используя «DISPLAY =: 1 xterm» или что-то еще.

Питер
источник
2

Вы можете получить доступ только к дисплеям, которые существуют на вашем компьютере (обычно только один 0 ). Однако есть программы, которые могут создавать новые дисплеи в виде окон, таких как xnest .

Но Лаки и статикан правы, в большинстве случаев вам нет дела до дисплеев.

Для получения дополнительной информации перейдите и прочитайте о X Window System .


источник
1

Сначала не беспокойтесь об использовании других дисплеев. Вероятно, вам придется беспокоиться только о дисплеях, когда вы подключаетесь к удаленному компьютеру и подключаете к нему удаленные приложения.

Ваши приложения, которые вы пишете, не должны напрямую беспокоиться об отображении; библиотека X позаботится об этом за вас.

Кевин лакмент
источник
1

Пользователь staticsan рассказал о проблеме:

Вы даже можете делать такие вещи, как запуск нескольких X-серверов. Вот когда вы получаете: 0 и: 1 и т. Д. Проблема в том, кто получает клавиатуру и мышь.

Мне было интересно, почему именно возникает проблема «кто достает клавиатуру и мышь». Я нашел ответ в статье, рекомендованной пользователем Чарли Мартином, в моем другом вопросе на [1]:

отдельный документ определяется в документации X11 как имеющий ровно одну клавиатуру и один указатель (т. е. мышь), но, возможно, несколько процессоров, мониторов и т. д.

[1] /programming/746263/how-do-the-server-extensions-work-in-x/746286#746286

Лео Леопольд Герц 준영
источник
0

Я действительно запускаю два X-сервера (некоторые X-программы, которые я использую, не любят современных оконных менеджеров).

В моей настройке каждый из них получает VTERM, а активный имеет клавиатуру и мышь.

Джошуа
источник