X-Server mit dem xserver-xorg-video-dummy-Treiber auf Ubuntu betreiben

English Deutsch

Wenn du eine Dummy-Anzeige auf einem Headless-Server benötigst (d.h. ohne angeschlossenen physischen Monitor), installiere zuerst das Dummy-Treiber-Paket:

install-dummy-driver.sh
sudo apt install xserver-xorg-video-dummy

Speichere danach diese Konfigurationsdatei als dummy-1920x1080.conf

dummy-1920x1080.conf
Section "Monitor"
  Identifier "Monitor0"
  HorizSync 28.0-80.0
  VertRefresh 48.0-75.0
  # https://arachnoid.com/modelines/
  # 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
  Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
EndSection

Section "Device"
  Identifier "Card0"
  Driver "dummy"
  VideoRam 256000
EndSection

Section "Screen"
  DefaultDepth 24
  Identifier "Screen0"
  Device "Card0"
  Monitor "Monitor0"
  SubSection "Display"
    Depth 24
    Modes "1920x1080_60.00"
  EndSubSection
EndSection

Nun kannst du X.org starten

start-x-with-config.sh
sudo X -config dummy-1920x1080.conf

Die Ausgabe sieht so aus:

xorg-start-output.txt
X.Org X Server 1.19.6
Release Date: 2017-12-20
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.4.0-138-generic x86_64 Ubuntu
Current Operating System: Linux ubuntu-s-1vcpu-2gb-fra1-01 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.15.0-45-generic root=LABEL=cloudimg-rootfs ro console=tty1 console=ttyS0
Build Date: 25 October 2018  04:11:27PM
xorg-server 2:1.19.6-1ubuntu4.2 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.34.0
  Before reporting problems, check http://wiki.x.org
  to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
  (++) from command line, (!!) notice, (II) informational,
  (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sat Feb 23 17:48:07 2019
(++) Using config file: "dummy-1920x1080.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"

Du musst diesen Prozess laufen lassen, solange du die Anzeige benötigst.

Display-Nummer identifizieren

Wenn kein anderer X-Server läuft, wird standardmäßig die Display-Nummer 0 verwendet. Suche nach dieser Zeile, um das verwendete Display zu identifizieren:

xorg-log-example.txt
(==) Log file: "/var/log/Xorg.0.log", Time: Sat Feb 23 17:48:07 2019

In dieser Zeile sagt dir Xorg.0.log, dass Display 0 verwendet wird, während Xorg.1.log sagt, dass Display 1 verwendet wird.

Software starten

Nun kannst du deine Software, die eine grafische Oberfläche benötigt, wie folgt starten (wir verwenden firefox und Display-Nummer 0 als Beispiel):

start-firefox-display0.sh
DISPLAY=:0 firefox

Vergiss nicht den Doppelpunkt in DISPLAY=:0!

X.org auf einer bestimmten Display-Nummer starten

Wenn du den X-Server auf einer bestimmten Display-Nummer starten möchtest, z.B. 7, weil ein anderer Dummy-Server gleichzeitig läuft, verwende diesen Befehl, um den X-Server zu starten:

start-x-display7.sh
sudo X :7 -config dummy-1920x1080.conf

Natürlich musst du DISPLAY=:7 firefox verwenden, um Firefox mit dieser Konfiguration zu starten!

Falls bereits ein X-Server auf diesem Display läuft, siehst du eine Fehlermeldung wie diese:

xorg-server-already-active-error.txt
(EE)
Fatal server error:
(EE) Server is already active for display 7
  If this server is no longer running, remove /tmp/.X7-lock
  and start again.
(EE)
(EE)
Please consult the The X.Org Foundation support
   at http://wiki.x.org
 for help.
(EE)

Suche nach Server is already active for display 7, um sicherzustellen, dass du dieselbe Fehlermeldung siehst!


Check out similar posts by category: Linux