Эмуляция дополнительных дисплеев
У меня есть система с одним монитором, я хотел бы протестировать конфигурацию 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 &