Добавление поддельного дисплея, когда монитор не подключен

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

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

Нашел способ сделать это, не требуя фиктивного штекера: Ubuntu Безголовый VUT VESA с разрешением 800x600 Исправлен ~ Энди Хокинс @ 12 июня 2011

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

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

Затем запишите это в /usr/share/X11/xorg.conf.d/xorg.conf (или, возможно, /etc/X11/xorg.conf) файл (создайте его, если он не существует):

Section "Device"    Identifier  "Configured Video Device"    Driver      "dummy"EndSectionSection "Monitor"    Identifier  "Configured Monitor"    HorizSync 31.5-48.5    VertRefresh 50-70EndSectionSection "Screen"    Identifier  "Default Screen"    Monitor     "Configured Monitor"    Device      "Configured Video Device"    DefaultDepth 24    SubSection "Display"    Depth 24    Modes "1024x800"    EndSubSectionEndSection

Затем перезагрузите компьютер.

Укажите разрешение на рабочем столе 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

Аппаратное решение

Это аппаратное решение / обходной путь, который может работать для некоторого графического оборудования / драйвера. Также может быть лучше, если вам нужно часто подключать физический монитор, чтобы вам не приходилось перезапускать X Server, как с фиктивным драйвером / vesa / fb (статическая конфигурация).

  • Либо вы покупаете Фиктивный разъем VGA (или аналоговый DVI) или кто-то называет это Фиктивный ключ.

  • Или просто постройте его, используйте 3 резистора примерно 75 Ом (стандарт) на выходе VGA: 1→6, 2→7, 3→8.

    +/- 10 Ом может работать без каких-либо проблем. Некоторые платы работают только с одним резистором. (Например, мой Intel, 2 → 7 или 3 → 8, будет обнаружен как монитор). Кстати, это стандартный импеданс, который реализован в VGA-мониторах.

Ссылка: Как создать фиктивные разъемы для ваших видеокарт.

Пользователям, которым интересно узнать больше о мониторе и определении его разрешения, я бы рекомендовал также прочитать о VESA DDC и EDID.

Считать Xvfb что, вероятно, с наименьшей вероятностью испортит дисплей, когда вы на самом деле подключаете настоящий монитор

Следующие команды запустят lightdm на поддельном дисплее с идентификатором 1 и разрешение 1024x76

export DISPLAY=:1Xvfb :1 -screen 0 1024x768x16 &sleep 1#exec gnome-session & # use gnome-session instead of lightdmexec lightdm-session &

Для меня ни одно из вышеперечисленных решений не работает. Чтобы добавить новое виртуальное устройство / экран1, что сработало для меня, так это :

  • Установите пакет xserver-xorg-video-dummy
  • Обновить xorg.conf

Все подробности здесь : Добавление поддельного дисплея, когда монитор не подключен

Инфо : для меня это работает при редактировании /etc/X11/xorg.conf вместо /usr/share/X11/xorg.conf.d/xorg.conf

Я нахожусь на 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 создать 2 виртуальных дисплея. Вы можете изменить количество виртуальных головок в соответствии с вашими потребностями.

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

#! /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.

Единственная проблема с этим заключается в том, что док-станция отсутствует при перезагрузке... Я еще не решил эту проблему.

Ответ Джона Чэпмена на меня не подействовал. Я могу предложить эта ссылка для фиксированного фиктивного дисплея с разрешением 1024х768 24 бит. Я могу успешно подключиться к своему компьютеру без какого-либо подключенного дисплея. Моя система - Ubuntu 16.04. Вы должны установить видеодрайвер VESA.

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

Код находится в вашем файле /usr/share/X11/xorg.conf.d/xorg.conf или файле /etc/X11/xorg.conf

Section "Device"Identifier    "Configured Video Device"Driver        "vesa"EndSectionSection "Monitor"    Identifier    "Configured Monitor"    HorizSync 42.0 - 52.0     VertRefresh 55.0 - 65.0     Modeline "1024x768" 60.80  1024 1056 1128 1272   768  768  770  796    Modeline "800x600" 38.21 800 832 976 1008 600 612 618 631    Modeline "640x480" 24.11 640 672 760 792 480 490 495 50EndSectionSection "Screen"    Identifier    "Default Screen"    Monitor        "Configured Monitor"    Device        "Configured Video Device"    DefaultDepth    24    Subsection "Display"        Depth       24        Modes       "1024x768" "800x600" "640x480"       EndSubsectionEndSection

Это работает как дополнительный монитор / дисплей, если он уже есть

I think I may have spoken too soon. I was able to create a "virtual" display by adding a new mode to one of the disconnected displays listed in xrandr usingxrandr --addmode VIRTUAL1 1024x768I then simply enabled the display like you would normally:xrandr --output VIRTUAL1 --mode 1024x768 --left-of HDMI3Furthermore, combined with x11vnc -clip, I am able to use this to convert my android tablet to a second monitor.  The perfomrance is pretty crappy at the moment, unfortunately, but that's whole other area to be explored.

https://bbs.archlinux.org/viewtopic.php?pid=1410831#p1410831

Заставил это работать

Просто установите фиктивный драйвер

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

не редактируйте файл xorg.conf, однако я просто создал здесь пустой файл

/usr/share/X11/xorg.conf.d/xorg.conf

теперь, когда у вас подключен монитор, он будет работать, как и раньше, но если вы загрузите его без монитора, это тоже должно сработать, и вы сможете подключиться к своему компьютеру по ssh.

надеюсь, это сработает и для вас тоже.

протестировано на ubuntu 19.04 и intel nuc.

Для тех, кто использует безголовую виртуальную машину, я обычно использую это: using Xvfb on virtual remote ssh server to have X graphical programs work - rtt - IT Resource