Додати підроблений дисплей, коли не підключено монітор


47

У мене є сервер Ubuntu 14.04, на якому не підключено зовнішній монітор. Я використовую NoMachine для дистанційного керування машиною. Коли я це роблю, інтерфейс Unity / Gnome не бачить підключених моніторів, тому я можу використовувати лише 800x600 під час з'єднання з NoMachine. Якщо я підключую монітор, я можу встановити роздільну здатність до будь-якого розміру вікна NoMachine на віддаленому комп'ютері.

Чи є спосіб створити "підроблений" монітор на Ubuntu, щоб я міг встановити роздільну здатність робочого столу в Unity / Gnome?

Відповіді:


54

Знайшов спосіб зробити це, не вимагаючи підставного модуля: http://blog.mediafederation.com/andy-hawkins/ubuntu-headless-vnc-vesa-800x600-fix/

В основному встановіть фіктивний драйвер:

sudo apt-get install xserver-xorg-video-dummy

Потім запишіть його у /usr/share/X11/xorg.conf.d/xorg.confфайл (створіть його, якщо його не існує):

Section "Device"
    Identifier  "Configured Video Device"
    Driver      "dummy"
EndSection

Section "Monitor"
    Identifier  "Configured Monitor"
    HorizSync 31.5-48.5
    VertRefresh 50-70
EndSection

Section "Screen"
    Identifier  "Default Screen"
    Monitor     "Configured Monitor"
    Device      "Configured Video Device"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1024x800"
    EndSubSection
EndSection

Потім перезавантажте комп'ютер.


1
Відредагуйте відповідь, пакет оновлюється. Спробуйте sudo apt-cache search video-dummy.
cctan

1
Створюючи файл /usr/share/X11/xorg.conf.d/xorg.confіз цим вмістом або файлом з xpra.org/xorg.conf , мій Ubuntu більше не завантажується (він застрягає на екрані логотипу Ubuntu перед екраном входу). У чому може бути проблема?
Девід Портабелла

2
Посилання у відповіді, здається, порушено.
rsethc

4
Також зламав мою ос. Не завантажувався. Його дистанційний і тепер мені потрібно сісти в машину і проїхати 1 год. Ризиковані речі :-)
Дерек

1
Це працює для мене! Однак є проблема, що якщо я
приєднаю

20

Вкажіть роздільну здатність на робочому столі Ubuntu 14.04 без підключеного монітора:

Зі сторінки чоловіка xrandr:

--fb widthxheight
   Reconfigures the screen to the specified size. All configured 
   monitors must fit within this size. When this option is not 
   provided, xrandr computes the smallest screen size that will 
   hold the set of configured outputs; this option provides a 
   way to override that behaviour.

Тому використовуйте команду після підключення:

xrandr --fb 1280x1024

Класно, це робота!
burtsevyg

2
Для мене це говорить:Can't open display
ar2015

2
@ ar2015 Виконай команду якxrandr --fb 1280x1024 -display :0
Терранс

@Terrance я отримуюNo protocol specified Can't open display :0
Rufus

@Woofas Ви ввійшли в систему в Wayland? Наскільки мені відомо, xrandrпрацює лише з X.Org. Я просто запустив свою команду в системі 18.04 знову, і вона працює нормально, але я використовую Xubuntu, який за замовчуванням має X.Org.
Терранс

8

Це апаратне рішення / обхідне середовище, яке може працювати для деяких графічних апаратних засобів / драйверів.

  • Або ви купуєте вилку Dummy VGA (або аналоговий DVI) або називаєте її Dummy Dongle.

  • Або просто використовуйте 3 резистори близько 75 Ом на виході VGA: 1 → 6, 2 → 7, 3 → 8.

    +/- 10 Ом може працювати без проблем. Деякі карти працюють лише з одним резистором. (Як і мій Intel, 2 → 7 або 3 → 8 буде виявлено як монітор)

Довідка: Як створити фіктивні плагіни для своїх відеокарт .


1
Звучить цікава ідея. Я пострілю.
Джон Чапман

2
Чесно кажучи, це найпростіший шлях. Тут є багато навчальних посібників для вирішення проблем, але це просто працює і заощадить вам багато часу. Варіант "Зроби сам" здається солідним, але фіктивні пробки на Amazon коштують 20 доларів. Просто переконайтеся, що ви отримаєте хороший для підтримки своєї резолюції.
Джейсон Капріотті

3

Я на Ubuntu 18.04, ось як я це вирішив:

Я створив віртуальний дисплей за допомогою відповіді на це питання: https://unix.stackexchange.com/questions/378373/add-virtual-output-to-xorg

Створіть файл 20-intel.conf:

sudo vi /usr/share/X11/xorg.conf.d/20-intel.conf

Додайте у файл таку інформацію конфігурації:

Section "Device"
    Identifier "intelgpu0"
    Driver "intel"
    Option "VirtualHeads" "2"
EndSection

Це дає змогу Intel GPU створити 2 віртуальних дисплея. Ви можете змінити кількість VirtualHeads відповідно до своїх потреб.

Тоді я зробив сценарій оболонки (не забудьте встановити виконуваний файл) і помістив його в Запуск програм:

#! /bin/bash

/usr/bin/xrandr -d :0 --output VIRTUAL1 --primary --auto
/usr/bin/xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900$
/usr/bin/xrandr --addmode VIRTUAL1 "1600x900_60.00"
/usr/bin/xrandr

Таким чином, VIRTUAL1 встановлюється як вихід і підключений. Під час завантаження створюється новий режим (знайдений за допомогою "cvt 1600 900") та призначений до VIRTUAL1.

Єдина проблема з цим: док відсутній при перезавантаженні ... Ще не вирішено.


3

Розглянемо Xvfb, який, ймовірно, найменш зіпсує дисплей, коли ви насправді підключите реальний монітор

Наступні команди запустять lightdm на підробленому дисплеї з ідентифікатором 1та роздільною здатністю1024x76

export DISPLAY=:1
Xvfb :1 -screen 0 1024x768x16 &
sleep 1

#exec gnome-session & # use gnome-session instead of lightdm
exec lightdm-session &

Дякую, це допомогло мені запустити хром на Debian без дисплея.
Деда

0

Для мене жодне з перерахованих вище рішень не працює. Щоб додати новий пристрій / екран VIRTUAL1, для мене це:

  • Встановіть макет-пакет xserver-xorg-video
  • Оновлення xorg.conf

Всі подробиці тут: Додати підроблений дисплей, коли не підключено монітор

Інформація : для мене це працює в редагуванні /etc/X11/xorg.conf замість /usr/share/X11/xorg.conf.d/xorg.conf

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