Dodaj fałszywy wyświetlacz, gdy nie jest podłączony żaden monitor

47

Mam serwer Ubuntu 14.04, który nie jest podłączony do zewnętrznego monitora. Używam NoMachine do zdalnego sterowania maszyną. Kiedy to robię, interfejs Unity / Gnome nie widzi podłączonych monitorów, więc mogę używać tylko 800x600 podczas łączenia z NoMachine. Po podłączeniu monitora mogę ustawić rozdzielczość na dowolny rozmiar okna NoMachine na komputerze zdalnym.

Czy istnieje sposób utworzenia „fałszywego” urządzenia monitorującego w systemie Ubuntu, aby ustawić rozdzielczość pulpitu w Unity / Gnome?

John Chapman
źródło

Odpowiedzi:

54

Znalazłem sposób na zrobienie tego bez konieczności używania zaślepki: http://blog.mediafederation.com/andy-hawkins/ubuntu-headless-vnc-vesa-800x600-fix/

Zasadniczo zainstaluj fałszywy sterownik:

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

Następnie zapisz go w /usr/share/X11/xorg.conf.d/xorg.confpliku (utwórz go, jeśli nie istnieje):

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

Następnie uruchom ponownie komputer.

John Chapman
źródło
1
Edytuj odpowiedź, pakiet jest aktualizowany. Spróbować sudo apt-cache search video-dummy.
cctan
1
Tworząc plik /usr/share/X11/xorg.conf.d/xorg.confz tą zawartością lub z pliku xpra.org/xorg.conf , moje Ubuntu nie uruchamia się już ( blokuje się na ekranie z logo Ubuntu przed ekranem logowania). Co może być problemem?
David Portabella
2
Link w odpowiedzi wydaje się być zepsuty.
rsethc
4
Też złamałem mój system operacyjny. Nie uruchomił się. Jest zdalny i teraz muszę wsiąść do samochodu i jechać 1 godzinę. Ryzykowne rzeczy :-)
Derek,
1
To działa dla mnie! Istnieje jednak problem, że jeśli
podłączę
20

Określ rozdzielczość na pulpicie Ubuntu 14.04 bez podłączonego monitora:

Ze strony podręcznika użytkownika 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.

Dlatego po podłączeniu użyj polecenia:

xrandr --fb 1280x1024
Eric Leschinski
źródło
Fajnie, to praca!
burtsevyg
2
Dla mnie to mówi:Can't open display
ar2015
2
@ ar2015 Uruchom polecenie jakoxrandr --fb 1280x1024 -display :0
Terrance
@Terrance I getNo protocol specified Can't open display :0
Rufus
@ Woofas Czy jesteś zalogowany do systemu w Wayland? O ile mi wiadomo, xrandrdziała tylko z X.Org. Właśnie uruchomiłem ponownie polecenie w systemie 18.04 i działa dobrze, ale używam Xubuntu, który ma domyślnie X.Org.
Terrance
8

Jest to rozwiązanie sprzętowe / obejście, które może działać w przypadku niektórych urządzeń / sterowników graficznych.

  • Możesz kupić wtyczkę Dummy VGA (lub analogową DVI) lub nazwać ją Dummy Dongle.

  • Lub po prostu użyj 3 rezystorów o mocy około 75 omów na wyjściu VGA: 1 → 6, 2 → 7, 3 → 8.

    +/- 10 Ohm może działać bez problemu. Niektóre karty działają tylko z jednym opornikiem. (Podobnie jak mój Intel, 2 → 7 lub 3 → 8 zostanie wykryty jako monitor)

Odniesienia: Jak tworzyć atrapy wtyczek do kart graficznych .

user.dz
źródło
1
Brzmi jak ciekawy pomysł. Spróbuję.
John Chapman
2
Szczerze mówiąc, jest to najprostsza droga. Istnieje wiele samouczków dotyczących obejść, ale to po prostu działa i pozwala zaoszczędzić dużo czasu. Opcja DIY wydaje się solidna, ale atrapy wtyczek na Amazon kosztują 20 USD. Tylko upewnij się, że masz dobry, który będzie obsługiwał Twoją rozdzielczość.
Jason Capriotti
3

Jestem na Ubuntu 18.04, oto jak to rozwiązałem:

Stworzyłem wirtualny wyświetlacz, używając odpowiedzi na to pytanie: https://unix.stackexchange.com/questions/378373/add-virtual-output-to-xorg

Utwórz plik 20-intel.conf:

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

Dodaj następujące informacje konfiguracyjne do pliku:

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

To mówi procesorowi graficznemu Intel, aby utworzył 2 wirtualne wyświetlacze. Możesz zmienić liczbę VirtualHeads według własnych potrzeb.

Następnie stworzyłem skrypt powłoki (nie zapomnij ustawić pliku wykonywalnego) i umieściłem go w aplikacjach startowych:

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

W ten sposób VIRTUAL1 jest ustawiany jako wyjście i podłączony. Podczas rozruchu tworzony jest nowy tryb (znaleziony przy użyciu „cvt 1600 900”) i przypisywany do VIRTUAL1.

Jedyny problem z tym: brak dokowania przy ponownym uruchomieniu ... Jeszcze tego nie rozwiązałem.

Stefan Lemmens
źródło
3

Zastanów się nad Xvfb, który najprawdopodobniej najmniej zepsuje wyświetlacz po podłączeniu prawdziwego monitora

Następujące polecenia uruchomią lightdm na fałszywym wyświetlaczu z identyfikatorem 1i rozdzielczością1024x76

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

#exec gnome-session & # use gnome-session instead of lightdm
exec lightdm-session &
Rufus
źródło
Dzięki, pomogło mi to uruchomić Chrome na Debianie bez wyświetlania.
Deda
0

Dla mnie żadne z powyższych rozwiązań nie działa. Aby dodać nowe urządzenie / ekran VIRTUAL1, działało dla mnie:

  • Zainstaluj pakiet xserver-xorg-video-dummy
  • Zaktualizuj xorg.conf

Wszystkie szczegóły są tutaj: Dodaj fałszywy wyświetlacz, gdy nie jest podłączony żaden monitor

Informacja : dla mnie działa w edycji /etc/X11/xorg.conf zamiast /usr/share/X11/xorg.conf.d/xorg.conf

sangorys
źródło