Встановіть Xorg використовувати лише частину екрана


13

Мій екран має роздільну здатність 1280 x 1024. Але, на жаль, крайній правий пояс у 200 пікселів пошкоджений і не може відображати жодне зображення.

Як я можу встановити, що Xorg буде розглядати мій екран як 1080 x 1024 пристрій?

Зараз я спробував:

Virtual 1080 1024
Viewport 0 0

Це не працює правильно - зображення масштабується так, щоб відповідати вертикально, і в горизонтальному напрямку я можу переміщуватися мишею.


2
Я відкрив щедрості в пошуках інших рішень, можливо, простіших. Дякую всім!
Rok Kralj

Відповіді:


8

Перевірте: http://howto-pages.org/ModeLines/ , вони добре пояснюють моделей Xorg. Потім перейдіть на сторінку http://xtiming.sourceforge.net/cgi-bin/xtiming.pl та введіть характеристики для розміру екрана, який ви можете використовувати. Це дасть вам Modeline, який ви можете додати у файл xorg.conf.

Поля 4, 5, 6 та 7 відповідають наступним валудам: HDisplay HSyncStart HSyncEnd HTotal.

Граючи з полями 5 і 6, ви зможете переміщувати видиму частину екрана ліворуч або праворуч, залежно від того, що вам потрібно.


Ви б пояснили це детальніше?
Rok Kralj

впевнений. подумайте про синхронізацію, як повернення каретки на машинці. пам'ятайте, як X-дисплеї керувань розроблялися ще за часів CRT. HSyncStart каже, що слід починати малювати пікселі в місці, і продовжуйте малювати до тих пір, поки HSyncEnd, в який момент встановлений сигнал HSync, говорить CRT, щоб намалювати наступний рядок на екрані. В епоху РК це спадщина, але це все ще працює. Граючи з початковим і кінцевим значками горизонтальних ліній, ви можете контролювати, наскільки широкий екран намальований, і на якій частині фізичного носія. Посилання в дописі має хороше пояснення.
Тім Кеннеді

2

Вам доведеться роздумувати про те, як найкраще змусити дисплеймерів використовувати його, але:

Ви можете звичайно запустити Xorg, який буде використовувати весь екран у повній роздільній здатності, наприклад

Xorg :123 -ac

Перемикач -ac вимикає деякі (усі?) Обмеження Xorgs, які він може мати для дозволу клієнтів. Тоді ви запускаєте Xephyr як єдиний клієнт (можливо, ви захочете адаптувати роздільну здатність, передану як -екранний аргумент, під свої потреби):

DISPLAY=:123 Xephyr :0 -screen 1720x1200

Xephyr - це свого роду "накладення Xserver", який взаємодіє з клієнтами, як і будь-який Xserver, але замість того, щоб піклуватися про візуалізацію та введення даних (частина, з якою стикається користувач), Xephyr покладається на іншого Xserver для цього.

Як ви комбінуєте ці команди, сильно залежить від вашого випадку використання. Взагалі такі програми, як менеджери сеансів, дають вам можливість надати команду, як викликати Xserver.

Що я зробив, щоб спробувати це:

Створіть /root/.xinitrcіз вмістом

Xephyr :0 -ac -once -query myxdmcphost -screen 1400x1200`

де 1400 - моя ширина екрана -200 пікселів.

Потім я запускаюсь, xinit -- :123 -my -usual -xorg -options -for -my -computerі в результаті отримую екран входу та сеанс, який фактично використовує весь мій екран, але колонку на 200 пікселів у правій частині.

Щоб мати такий самий ефект, наприклад, як GDM, вам слід було б надати xinitкоманду кілька разів у gdm.confметоді виклику Xserver. Але я не можу сказати тобі з голови, як це зробити.


1
Xephyr не підтримує апаратне прискорення opengl, не підходить для будь-яких сучасних DE чи ігор.
Rok Kralj
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.