Налаштування розподіленої Мультиекрани середовища за допомогою Linux і Xdmx

  1. вимоги
  2. устаткування
  3. Програмне забезпечення
  4. Як отримати та інсталювати Xdmx
  5. установка
  6. Налаштування ПК для роботи з декількома моніторами
  7. Схема ПК - ноутбук
  8. Налаштування конфігураційного файлу віконної системи X
  9. Лістинг 1. Приклад файлу XF86Config
  10. запуск Xdmx
  11. Лістинг 2. Приклад команди запуску Xdmx
  12. Таблиця 1. Коментарі до команди запуску
  13. Помилки Xdmx і їх рішення
  14. Лістинг 3. Приклад повідомлення про помилку Xdmx
  15. Лістинг 4. Приклад команди запуску Xdmx з параметром noglxproxy
  16. Схема три клієнтських вузла - три монітори
  17. Лістинг 5. Приклад команди запуску Xdmx з параметром noglxproxy і підключенням третього вузла
  18. Малюнок 1. Схема з трьох вузлів
  19. Лістинг 6. Приклад конфігураційного файлу Xdmx
  20. Лістинг 7. Приклад команди запуску Xdmx з використанням конфігураційного файлу
  21. Малюнок 2. Схема з чотирьох вузлів
  22. Малюнок 3. Схема з чотирьох вузлів, один з них розміщений окремо
  23. Схеми для обробки 3D графіки
  24. моніторні стіни
  25. висновок
  26. Ресурси для скачування

Створення спільних стільниць на кількох моніторах

Установка додаткового монітора значно збільшує ефективність роботи, позбавляючи від необхідності частого перемикання між программами. Це і багато інших переваг добре відомі тим, хто використовує відеокарти з кількома виходами, або кілька відеокарт на одному ПК. Використовуючи Linux, Xdmx, два комп'ютери і два монітори, кожен може використовувати вигоди Мультиекрани середовища без витрат на додаткове обладнання.

Використовуючи Xdmx і деякі прості поради по налаштуванню, ми створимо єдину обчислювальну середу для чотирьох моніторів, один з яких буде підключений до настільного ПК, а в якості інших будуть використані три ноутбука. Ми дізнаємося про високопродуктивною середовищі візуалізації, що використовує систему інтерактивного рендеринга Chromium і гигабитное підключення до мережі для передачі 3D графіки в режимі реального часу між моніторами високої роздільної здатності. Також ми вивчимо кошти створення власної Мультиекрани середовища і об'єднання декількох пристроїв для підвищення ефективності роботи.

вимоги

При написанні цієї статті використовувався чотири комп'ютери з трьома різними моделями відеокарт, трьома розмірами моніторів і трьома різними настройками дозволу. Використовувалися дистрибутиви Red Hat Enterprise Linux (RHEL) V3.5 і Fedora Core 3, з ядрами версій 2.4.21-2.6.15 і настройками X11 і xorg за замовчуванням. Різноманітність програмного і апаратного забезпечення не є перешкодою. Ви можете успішно встановити і використовувати Xdmx на різному обладнанні і з різними збірками.

устаткування

Вам знадобляться:

  • щодо сучасний процесор - можна використовувати, все що завгодно могутніше 486 (хоча на старих моделях може трохи пригальмовувати);
  • швидкісне підключення до мережі - 100 Мбіт / сек. або швидше;
  • відеокарта, підтримуюча, по крайней мере, 16-бітний колір. Інакше будуть проблеми з використанням розширення xinerama.

Програмне забезпечення

Ми використовували сучасні дистрибутиви Red Hat і Fedora Core, однак підійдуть і багато інших дистрибутивів. Їли ваш дистрибутив підтримує пакети RPM, ви зможете завантажити і використовувати Xdmx, без необхідності компілювати програму з вихідних текстів.

Як отримати та інсталювати Xdmx

отримання ПО

Для завантаження Xdmx вирушайте на сайт Sourceforge.net (див. Розділ ресурси ). Для роботи з цією статтею прекрасно підійде пакет RPM. Шукайте файл dmx-1.2.20040630-1.i386.rpm в розділі Download DMX. Якщо ви використовуєте старий дистрибутив або він не підтримує RPM, ви можете скомпілювати DMX з чистого аркуша. Вихідні тексти можна знайти в розділі Download DMX, проте інструкція по компіляції програми виходить за межі даної статті.

установка

Тепер, коли ви отримали пакет Xdmx RPM, вам необхідно його встановити. У системах на основі RHEL V3.5 команда rpm -Uvh dmx-1.2.20040630-1.i386.rpm повинна встановити Xdmx без проблем. У системах Fedora Core 3 і вище при установці пакету RPM, ви зможете зіткнутися з помилкою типу file /usr/X11R6/lib/libdmx.a from install of dmx-1.2.20040630-1 conflicts with file from package xorg-x11-devel- 6.8.2-31.

Як обхідного варіанту використовуйте установку з параметром --force option: rpm --force -Uvh dmx-1.2.20040630-1.i386.rpm. Увага! Примусова установка Xdmx може привести до нестабільності системи. Я без проблем використовував системи, примусово встановленим Xdmx, більше року, однак у вас все може виявитися інакше. Якщо ви не хочете використовувати примусову установку, скомпілюйте Xdmx з початкових кодів та потім встановіть.

У системах на основі Debian чи інших, які використовують apt-get, використовуйте команду apt-get install xdmx для установки і настройки Xdmx.

Xdmx необхідно встановити на всі комп'ютери, які ви плануєте використовувати в якості складових частин Мультиекрани середовища. В інсталяційний пакет Xdmx входять і клієнт, і сервер, тому якщо ви хочете додати монітор, змінити налаштування вузла або стикаєтеся з апаратними збоями в роботі існуючого вузла, не потрібно встановлювати заново програму для підтримки різних налаштувань.

Налаштування ПК для роботи з декількома моніторами

Керівництво Xdmx

Xdmx поставляється з чудовим керівництвом, яке надає всю необхідну початкову інформацію для роботи з Мультиекрани середовищем. Ця стаття покликана допомогти вам вирішити деякі більш складні проблеми, пов'язані з налаштуванням обладнання. Зустрітися з деякими реальними прикладами використання Xdmx і методами вирішення деяких проблем, з якими ви можете зіткнутися.

Схема ПК - ноутбук

Для першого прикладу ми будемо використовувати настільний ПК і ноутбук в двоекранного середовищі, в якій робочий стіл розтягнутий на два монітори. Для початку призначимо один з комп'ютерів керуючим вузлом - в нашому випадку, це буде настільний ПК.

Налаштування конфігураційного файлу віконної системи X

Великою проблемою при використанні відрізняється обладнання є відмінності у функціях, які підтримуються обчислювальними ресурсами. Перед запуском Xdmx переконайтеся в тому, що комп'ютери підтримують однаковий набір опцій. В даному випадку не на всіх комп'ютерах встановлені однакові шрифти. Для відстеження подібних проблем, в Xdmx існує спеціальна функція, яка буде розглянута нижче. Зверніть увагу на те, що типовими джерелами проблем, що призводять до некоректної роботи Xdmx, є відмінності в підтримці GLX і значень глибини кольору за замовчуванням. Щоб розтягнути робочий стіл на кілька моніторів переконайтеся в тому, що на всіх екранах налаштована однакова глибина кольору. Якщо ви хочете використовувати кілька окремих робочих столів, глибина кольору на моніторах може відрізнятися. Оскільки, в нашому прикладі ми хочемо створити єдиний великий екран, відредагуйте файл Xorg.conf або XF86Config, вибравши 16-бітну глибину кольору в якості значення за замовчуванням. Ви можете вказати значення 24 біта або будь-яке інше, якщо воно підтримується всім вашим обладнанням. У нашому випадку 16 біт - це максимальна глибина кольору, підтримувана всім устаткуванням.

Створіть резервну копію файлу Xorg.conf або XF86Config і внесіть зміни, зазначені нижче. Наприклад, для ОС RHEL 3.5 в файлі XF86Config повинні бути наступні рядки:

Лістинг 1. Приклад файлу XF86Config

Section "Screen" Identifier "Screen0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1400x1050" "1280x1024" \ "1280x960" "1152x864" "1024x768" "800x600" "640x480" EndSubSection EndSection

Змінимо DefaultDepth 24 на DefaultDepth 16, а рядок, що йде за SubSection for Display з Depth 24 на Depth 16.

Якщо ви використовуєте спеціалізовані драйвери для обладнання, вам може знадобитися скинути настройки в значення за замовчуванням або використовувати стандартний драйвер. За додатковою інформацією зверніться до документації устаткування або його виробника. У нашому прикладі ноутбук під керуванням RHEL V3.5 оснащений відеокартою ATI FireGL Mobility T2 і відповідними пропрієтарними драйверами. Якщо ми змінимо файл XF86Config, як показано вище, це призведе до помилки, так як драйвер fglrx не підтримує 16-розрядний колір. Для вирішення цієї проблеми послідовно відкрийте system-config-xfree86 (system-config-display в Fedora Core) і виберіть режим VESA. На вкладці Advanced вкажіть для своєї відеокарти драйвер VESA Driver (generic). У розділі Monitor Type налаштуйте параметри для підтримки максимального дозволу вашого монітори. Поверніться на вкладку Display, вкажіть дозвіл і глибину кольору, налаштувавши параметр Thousands of Colors.

Тепер, коли глибина кольору всюди збігається, ми можемо приступити до налаштування Мультиекрани середовища. На клієнтському вузлі запустіть сеанс X. Якщо ОС запущена в режимі runlevel 3, запустіть новий сеанс X командою xinit. Якщо ви вже запустили сеанс графічного віконного менеджера, такого як GNOME або KDE, виконайте команду Xterm. В вікні Xterm на клієнтському вузлі введіть команду xhost + control_node_ip, де control_node_ip - це IP-адреса керуючого вузла. Наприклад, якщо IP-адреса керуючого вузла 192.168.1.101, на клієнтському вузлі потрібно ввести команду xhost + 192.168.1.101.

запуск Xdmx

На керуючому вузлі запустіть стандартний сеанс X Window. Якщо ви запускаєте xdm, з'явиться вікно входу в систему, а потім буде запущений сеанс GNOME або KDE. Після цього запустіть на керуючому вузлі Xterm. Запустіть новий сеанс Xdmx, який виведе на обидва екрани віконний менеджер twm. Ви можете використовувати інший менеджер вікон, однак майте на увазі, що GNOME не підтримує запуск двох примірників на одному комп'ютері. Виконайте на керуючому вузлі наступну команду:

Лістинг 2. Приклад команди запуску Xdmx

startx `which twm` - \ / usr / bin / X11R6 / Xdmx: 1 \ -display control_node_ip: 0 \ -display client_node_1_ip: 0 \ -ignorebadfontpaths \

Де control_node_ip - 192.168.1.101, а client_node_1_ip - IP-адреса клієнтського вузла. Коментарі до команди наведені в таблиці 1

Таблиця 1. Коментарі до команди запуску

Рядок починається з ... ... і означає startx `which twm` Запуск нового сеансу X з віконним менеджером twm. - / usr / bin / X11R6 / Xdmx: 1 Запустити програму Xdmx в якості першого сеансу X. -display control_node_ip: 0 Використовувати монітор на керуючому вузлі в якості першого екрану. -display client_node_1_ip: 0 Використовувати монітор на клієнтському вузлі в якості другого екрану. -ignorebadfontpaths Все одно ніколи їх не любив. + Xinerama Використовувати екран, як один робочий стіл.

Якщо команда виконана успішно, ми побачимо фон робочого столу на обох моніторах. Посувайте миша на керуючому вузлі, щоб переконатися в тому, що пристрої введення керуючого вузла коректно працюють з єдиним робочим столом. Для виходу з Xdmx натисніть Ctrl + Alt + q.

Помилки Xdmx і їх рішення

Якщо команда не виконана успішно, ви можете побачити одну з наступних помилок:

Лістинг 3. Приклад повідомлення про помилку Xdmx

(II) dmx: ===== End of Summary ===== (!!) dmx: The default visual for screen # 0 does not match any of the (!!) dmx: consolidated visuals from Xinerama (listed above ) (!!) dmx: The default visual for screen # 1 does not match any of the (!!) dmx: consolidated visuals from Xinerama (listed above) (Fatal Error) dmx: dmxConnectionBlockCallback: invalid screen (s) found XIO: fatal IO error 104 (Connection reset by peer) on X server ": 1.0" after 0 requests (0 known processed) with 0 events remaining.

Один з небагатьох явних недоліків Xdmx - абсолютно загадкові повідомлення про помилки. Дане повідомлення говорить про помилку, викликаної несумісними настройками GLX на клієнтському і керуючому вузлах. Хоча такі повідомлення можуть бути незрозумілі простим смертним, проте Xdmx досить простий в налаштуванні. Додайте до команди параметр -noglxproxy і спробуйте запустити її знову:

Лістинг 4. Приклад команди запуску Xdmx з параметром noglxproxy

startx `which twm` - \ / usr / bin / X11R6 / Xdmx: 1 \ -display control_node_ip: 0 \ -display client_node_1_ip: 0 \ -ignorebadfontpaths \ + xinerama \ -noglxproxy

Готово! Все працює. Ви, напевно, помітили, що збої в роботі Xdmx призводять до дивних проблем з клавіатурою. Я помітив, що при збоях Xdmx клавіші Ctrl, Shift і Alt працюють некоректно. Найпростіше вирішити цю проблему перезапуском віконного менеджера.

Схема три клієнтських вузла - три монітори

Тепер, коли ми налаштували середу з двох вузлів, давайте додамо третій клієнтський вузол. Якщо на третьому вузлі використовується режим runlevel 3, запустіть новий сеанс X за допомогою команди xinit. У вікні xterm введіть xhost + contrl_node_ip. Змініть команду запуску Xdmx для підключення третього вузла, як показано в лістингу 5.

Лістинг 5. Приклад команди запуску Xdmx з параметром noglxproxy і підключенням третього вузла

startx `which twm` - \ / usr / bin / X11R6 / Xdmx: 1 \ -display control_node_ip: 0 \ -display client_node_1_ip: 0 \ -display client_node_2_ip: 0 \ -ignorebadfontpaths \ + xinerama \ -noglxproxy

Ось так просто додати ще один вузол до послідовної горизонтальною схемою. На малюнку показані три монітори, спільно відображають мозаїку з іншої статті developerWorks.

Малюнок 1. Схема з трьох вузлів
Створення спільних стільниць на кількох моніторах   Установка додаткового монітора значно збільшує ефективність роботи, позбавляючи від необхідності частого перемикання між программами

Схема чотири клієнтських вузла, 2x2 монітора

А як же інша топологія моніторів? Як щодо квадрата 2x2 з моніторів? У Xdmx є на це свою відповідь: використовуйте параметри конфігураційного файлу з геометричними покажчиками для створення необхідного середовища. Наприклад, якщо ви хочете розмістити монітор 1024x768 зліва вгорі, монітор 1400x1050 - справа вгорі, монітор 1600x1200 - зліва внизу і монітор 1024x768 - справа внизу, вам необхідно використовувати наступний конфігураційний файл:

Лістинг 6. Приклад конфігураційного файлу Xdmx

# Xdmx.conf - конфігураційний файл Xdmx # настройка середовища 2x2 virtual quad_config {display "client_node_upper_left_ip: 0" @ 0x0; display "client_node_upper_right_ip: 0" @ 1024x0; display "client_node_lower_left_ip: 0" @ 0x768; display "client_node_lower_right_ip: 0" @ 1024x768; }

Застосуйте вищевказані налаштування, запустивши на керуючому вузлі наступну команду:

Лістинг 7. Приклад команди запуску Xdmx з використанням конфігураційного файлу

startx `which twm` - / usr / bin / X11R6 / Xdmx: 1 \ -configfile xdmx.conf \ -config quad_config \ -ignorebadfontpaths \ -noglxproxy

Я вибрав таку фізичну топологію моніторів тому, що тільки вона виявилася досить компактної і забезпечила мені всі переваги єдиного робочого столу. На малюнку показана розподілена мультиекранну середу 2x2, на якій відображається карта Сан-Франциско з сервісу Google Maps.

Малюнок 2. Схема з чотирьох вузлів

Розширені настройки і моніторні стіни

Майте на увазі, що монітори не обов'язково повинні розташовуватися поруч. На наступному малюнку показана схема, налаштована для програмування, з чотирма окремими робочими столами, які використовують віконний менеджер Ion3.

Малюнок 3. Схема з чотирьох вузлів, один з них розміщений окремо

Зверніть увагу на окремий монітор з лівого краю. Користувач може переміщати вікна на цей монітор він може поглянути на нього мигцем, але він залишається за межами периферійного зору, не відволікаючи і зменшуючи кількість потенційних помилок. Використовуйте конфігураційний файл Xdmx з параметрами розміщення і геометричними покажчиками для створення будь-яких топологій, що підходять для вашої робочої середовища.

Схеми для обробки 3D графіки

Система рендеринга Chromium - це пакет, що дозволяє обробляти інформацію OpenGL окремо для кожного вузла в схемі Xdmx, обробляючи тільки той фрагмент зображення, який відображається на даному моніторі. Це забезпечує чудовий спосіб використання обчислювальної потужності ваших клієнтських вузлів і відеокарт для швидкого рендеринга 3D графіки великих розмірів. За додатковою інформацією про Chromium і налаштування систем для обробки 3D графіки зверніться до посиланнями нижче.

моніторні стіни

В основному Xdmx використовується в університетах і науково-дослідних інститутах для створення великомасштабних екранних середовищ, призначених для відображення великих обсягів даних. Такі середовища часто використовують Chromium для роботи з тривимірним поданням інформації, за допомогою однакового обладнання і спеціалізованих комп'ютерів. Ця стаття призначена для персональних комп'ютерів і присвячена створенню розподіленої Мультиекрани середовища на наявному обладнанні. Щоб дізнатися про фантастичних прикладах величезних моніторних стін з дозволом 16000x4800, автоматичним настроюванням екранних вузлів, зверніться до розділу ресурси .

висновок

Вміючи налаштовувати Мультиекрани середовища за допомогою Xdmx в ОС Linux, ви зможете значно збільшити ефективність своєї роботи без витрат на нове обладнання. Просто об'єднайте комп'ютери в екранну середу за допомогою ПО з відкритим вихідним кодом. Уразите друзів жахливим розміром свого робочого столу - створіть власну моніторну стіну. Пишіть більше коду, виправляйте більше помилок або читайте відразу три статті developerWorks.

Ресурси для скачування

Схожі теми

Підпишіть мене на повідомлення до коментарів

Як щодо квадрата 2x2 з моніторів?