OpenBSD - запускать несколько X-серверов одновременно

Вот способ Perl:

$ perl -lne 'if(/applicationName/){@A=(/"([^"<]+)"/g); print "@A"}' file 
applicationNameSpectrumAnalyzer Booting Spectrum Analyzer
applicationNamePowerMeter Booting Power Meter
applicationNameAnalogDemod Booting Analog Demod
0
28.02.2018, 09:42
1 ответ

Хорошие новости :Технически это возможно.

Плохие новости :Это не работает под Xenocara (Клон OpenBSD X11 )без DRI/KMS (Видеодрайвер ядра)(Доступ к оборудованию X с использованием /dev/xf86в данном случае )но работает на XOrg с Linux и FreeBSD. Вы можете попробовать, если это работает в вашем случае. Если вы используете KMS, то, вероятно, это сработает.

Снова хорошие новости :он вам не нужен, потому что он не повышает безопасность :веб-браузер является X-клиентом :он работает как обычный процесс и использует X для отображения данных.

X и виртуальные терминалы .

Видеооборудование ПК находится под управлением драйвера консоли OpenBSD wscons, который предоставляет несколько виртуальных терминалов(vt). Когда X запускается, он заимствует vtиз wsconsи с этого момента сам управляет видео с помощью своего драйвера (напрямую с помощью /dev/xf86или с помощью драйвера KMS в ядре ). Управление клавиатурой также перемещено с wsconsна X, поэтому, когда вы нажимаете CTRL+ALT+F *, X просит wsconsпереключиться на другое vt, а wsconsвозвращает видео и клавиатуру. Таким образом, вы можете запустить X на двух разных vts. У X есть опция vtXXдля выбора vtдля заимствования. Поскольку запуск X без клиента не имеет смысла, вы можете сделать

 DISPLAY=:2 xinit xterm -- vt1 :2

Все после --передается X, поэтому X запустится на vt1. Затем вы переключаетесь на другой vtи запускаете

 DISPLAY=:3 xinit xterm -- vt3 :3

Теперь у вас есть 2 сервера X. Если это сработает, вы можете настроить свой диспетчер отображения(xenodmв OpenBSD )для передачи опции vtXXв X.

X, его клиенты и почему нет необходимости запускать 2 сервера X .

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

Итак, клиент работает локально, он просто использует разные X-серверы для отображения данных. После того, как ваш клиент взломал --, не имеет значения, к какому X-серверу он подключен.

PS :Вот почему Xenocara не запускается на 2 разных vts при использовании vesa(4)драйвера :он использует/dev/xf86(акаoption APERTURE)(xf86(4))для доступа к видеопамяти и устанавливает блокировку на этот файл устройства. Таким образом, это может работать с KMS

0
28.01.2020, 04:30

Теги

Похожие вопросы