Несколько дисплеев X на одном мониторе

Несколько дисплеев X на одном мониторе

Я разрабатываю программное обеспечение для целевой системы, которая имеет 3 дисплея, по одному на каждый монитор: localhost:0.0, localhost:0.1,localhost:0.2

Хотя в целевой системе имеется 3 монитора, в моей системе разработки их всего 2. Чтобы программное обеспечение работало в системе разработки (в которой отсутствуют ожидаемые дисплеи), все окна выводятся localhost:0.0вместо соответствующих им дисплеев, чтобы его можно было протестировать в системе разработки.

Иногда я действительнонуждатьсядля тестирования с 3 дисплеями, чтобы гарантировать, что каждый дисплей показывает то, что должен. Если я работаю в системе Windows, я могу запустить X-сервер в режиме, который дает мне 3 окна, каждое из которых является отдельным дисплеем: 0.0, 0.1, и 0.2, затем я использую ssh с X-forwarding. Хорошо. Есть ли способ сделать что-то подобное в системе Linux?

Система Linux, которую я использую, представляет собой сервер Red Hat, к которому я подключаюсь через удаленный рабочий стол с компьютера Windows.

Есть ли способ запустить отдельные X-дисплеи на одном мониторе? Желательно иметь отдельное окно для каждого, но это не обязательно.

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

Вот одно из решений, которое я попробовал: здесь на superuser есть вопрос под названием "Multiple X instances", который начинается с "I can run multiple X instances via startx -- :1...". Я попробовал, но получил ошибки аутентификации PAM. Поиск в Google выдает только кучу людей, у которых эта проблема возникает только после su от root к другому пользователю, но у меня даже нет доступа root. Не уверен, что это вообще то, что мне нужно.

Еще один источник, который я нашел:Как запустить более одного X-дисплея?, что является еще одним вопросом суперпользователя: «Я хочу запустить два дисплея X, один по alt + F7 и один по alt + F8. Как мне это сделать?», на который можно ответить с помощью xinitили startx.

/ — самая многообещающая зацепка, с которой я сталкивался. Если это то, что мне нужно, и я просто делаю это неправильно, я могу создать отдельный вопрос о них startx.xinit

решение1

Вы можете использоватьXгнездокоторый поддерживает до 3 экранов. Просто запустите

Xnest -scrns 3 :1

и вы получаете 3 окна, каждое из которых отображается для клиента X11 как настоящий экран на одном дисплее.

-scrns int Эта опция указывает количество экранов, создаваемых на вложенном сервере. Для каждого экрана Xnest создаст отдельное окно верхнего уровня. Каждый экран обозначается числом после точки в спецификации имени отображения клиента. Например, xterm -display :1.1 откроет клиент xterm(1)...


Вам не нужно быть пользователем root для запуска Xnestили загрузки, если у вас есть доступ к репозиторию RPM.

yumdownloader xorg-x11-server-Xnest

и вы должны получить файл RPM, который вы можете распаковать с помощью

rpm2cpio thefilewegot.rpm | cpio -civd ./usr/bin/Xnest

тогда вы можете запустить этоusr/bin/Xnest :1 ...

Связанный контент