Эмуляция дополнительных дисплеев

У меня есть система с одним монитором, я хотел бы протестировать конфигурацию xmonad, предназначенную для нескольких мониторов. Есть ли способ эмулировать систему с 3 мониторами, используя что-то вроде Xephyr для проверки моей конфигурации?

5 ответов

Решение

Я нашел решение, используя Xephyr и Xdmx

Сначала создайте дисплеи Xephyr

Xephyr -screen 1920x1080 -ac :1
Xephyr -screen 1920x1080 -ac :2
Xephyr -screen 1920x1080 -ac :3

Это создает 3 окна 1920x1080, каждое из которых будет выступать в качестве монитора

Затем добавьте слой xinerama на эти виртуальные дисплеи

Xdmx +xinerama -xinput local -display :1 -display :2 -display :3 -ac :4

Затем создайте новый терминал и запустите ваш оконный менеджер или приложение, например, так

DISPLAY=:4.0
xmonad

или если вы просто хотите протестировать поддержку приложения xinerama вместо xmonad ты можешь бежать xterm или же thunar ,

Вам нужен только один экземпляр Xephyr.

Xephyr +xinerama -screen 1920x1080 -screen 1920x1080 -screen 1920x1080 -ac :1

Если вам нужно расширение RANDR, добавьте +extension RANDR арг.

Xephyr +extension RANDR +xinerama -screen 1920x1080 -screen 1920x1080 -screen 1920x1080 -ac :1

Хотя это отвечает на вопрос, это не полномасштабное решение. Эти решения размещают три экрана в горизонтальном ряду (ну, по крайней мере, согласно xinerama (xdpyinfo -ext XINERAMA -display :1), о фактическом размещении окон будет заботиться менеджер окон). Если вы хотите иметь другое размещение экранов, это не поможет.

Это работает для меня:

      Xephyr +xinerama +extension RANDR -screen 800x600+0+0 -screen 800x600+800+0 -ac :1

ХотяDISPLAY=:1 xrandrпо-прежнему возвращает только один экран, мое приложение C вызываетXineramaQueryScreens(dpy, &new_num_mons);дает мне правильную геометрию.

Я не знаю, было ли это возможно тогда, когда были опубликованы другие ответы, но вот как можно создать сетку 2x2 с тремя виртуальными мониторами, занимающими верхний левый, верхний правый и нижний левый квадранты, и пустым пространством в нижний правый квадрант, чтобы возиться с вещами, предполагающими отсутствие мертвого пространства:

      Xephyr +xinerama -screen 640x480 -origin 640,0 -screen 640x480 -origin 0,480 -screen 640x480 :1 &
Другие вопросы по тегам