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


47

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

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

Ответы:


55

Нашел способ сделать это без использования заглушки: 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
Это работает для меня! Однако есть проблема в том, что если я прикрепляю настоящий монитор, это всегда черный экран
soulmachine

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

Круто, это работа!
бурцевый

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

2
@ ar2015 Запустите команду какxrandr --fb 1280x1024 -display :0
Terrance

@ Терранс я получаюNo protocol specified Can't open display :0
Руфус

@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 в соответствии с вашими потребностями.

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

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

Спасибо, это помогло мне запустить Chrome на Debian без дисплея.
Деда

0

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

  • Установите пакет xserver-xorg-video-dummy
  • Обновление 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.