Ubuntu20.04 VNC-Installation und Konfigurationsimplementierung

Ubuntu20.04 VNC-Installation und Konfigurationsimplementierung

VNC ist ein Remote-Desktop-Protokoll. Befolgen Sie die Anweisungen in diesem Artikel, um Ubuntu 20.04 per VNC fernzusteuern. Die allgemeine VNC-Installationsmethode kann nicht verwendet werden, wenn der Host nicht mit einem Monitor verbunden ist. Die folgenden Vorgänge können ordnungsgemäß ausgeführt werden, unabhängig davon, ob der Host über einen Monitor verfügt oder nicht.

Installieren Sie zuerst x11vnc

sudo apt-get installiere x11vnc -y

VNC-Passwort festlegen

sudo x11vnc -storepasswd /etc/x11vnc.pass

Erstellen Sie den x11vnc-Autostartdienst

Erstellen Sie /etc/systemd/system/x11vnc.service und schreiben Sie den folgenden Inhalt

[Einheit]
Beschreibung=Starten Sie x11vnc beim Start.
Nach=Multi-User.Ziel
[Service]
Typ=einfach
ExecStart=/usr/bin/x11vnc -auth /run/user/1000/gdm/Xauthority -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
[Installieren]
WantedBy=Mehrbenutzer.Ziel

Starten Sie den x11vnc-Dienst

sudo systemctl aktiviere x11vnc
sudo-Dienst x11vnc starten

Wenn zu diesem Zeitpunkt ein Monitor mit dem Remote-Host verbunden ist, kann über VNC im LAN darauf zugegriffen werden.

Um sicherzustellen, dass der Remote-Host über VNC remote erreicht werden kann, unabhängig davon, ob er über ein Display verfügt, müssen wir die folgenden Änderungen vornehmen

Erstellen Sie eine Standarddatei xorg.conf

sudo Xorg: 1 -konfigurieren

Zu diesem Zeitpunkt generiert das Programm die Datei /root/xorg.conf.new

Mein Standarddateiinhalt ist wie folgt

Abschnitt "ServerLayout"
 Kennung „X.org konfiguriert“
 Bildschirm 0 "Screen0" 0 0
 Eingabegerät „Maus0“ „CorePointer“
 Eingabegerät „Keyboard0“ „CoreKeyboard“
Endabschnitt

Abschnitt "Dateien"
 Modulpfad "/usr/lib/xorg/modules"
 Schriftpfad "/usr/share/fonts/X11/misc"
 Schriftpfad "/usr/share/fonts/X11/cyrillic"
 FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
 FontPfad "/usr/share/fonts/X11/75dpi/:unscaled"
 Schriftartpfad "/usr/share/fonts/X11/Type1"
 Schriftartpfad "/usr/share/fonts/X11/100dpi"
 Schriftartpfad "/usr/share/fonts/X11/75dpi"
 FontPath „integrierte Funktionen“
Endabschnitt

Abschnitt "Modul"
 "glx" laden
Endabschnitt

Abschnitt "InputDevice"
 Kennung "Keyboard0"
 Treiber "kbd"
Endabschnitt

Abschnitt "InputDevice"
 Kennung "Mouse0"
 Treiber "Maus"
 Option „Protokoll“ „auto“
 Option „Gerät“ „/dev/input/mice“
 Option "ZAxisMapping" "4 5 6 7"
Endabschnitt

Abschnitt "Monitor"
 Kennung "Monitor0"
 VendorName "Monitor-Anbieter"
 Modellname „Monitormodell“
Endabschnitt

Abschnitt "Gerät"
    ### Verfügbare Treiberoptionen sind: -
    ### Werte: <i>: Ganzzahl, <f>: Gleitkommazahl, <bool>: "True"/"False",
    ### <string>: "Zeichenfolge", <freq>: "<f> Hz/kHz/MHz",
    ### <Prozent>: "<f>%"
    ### [arg]: arg optional
    #Option "Accel" # [<bool>]
    #Option "AccelMethod" # <str>
    #Option "Hintergrundbeleuchtung" # <str>
    #Option "CustomEDID" # <str>
    #Option "DRI" # <str>
    #Option "Vorhanden" # [<bool>]
    #Option "Farbschlüssel" # <i>
    #Option "VideoKey" # <i>
    #Option "Kacheln" # [<bool>]
    #Option "LinearFramebuffer" # [<bool>]
    #Option "HWRotation" # [<bool>]
    #Option "VSync" # [<bool>]
    #Option "PageFlip" # [<bool>]
    #Option "SwapbuffersWait" # [<bool>]
    #Option "TripleBuffer" # [<bool>]
    #Option "XvPreferOverlay" # [<bool>]
    #Option "HotPlug" # [<bool>]
    #Option "ReprobeOutputs" # [<bool>]
    #Option "XvMC" # [<bool>]
    #Option "ZaphodHeads" # <str>
    #Option "VirtuelleKöpfe" # <i>
    #Option "TearFree" # [<bool>]
    #Option "PerCrtcPixmaps" # [<bool>]
    #Option "FallbackDebug" # [<bool>]
    #Option "DebugFlushBatches" # [<bool>]
    #Option "DebugFlushCaches" # [<bool>]
    #Option "DebugWait" # [<bool>]
    #Option "BufferCache" # [<bool>]
 Kennung „Card0“
 Treiber "Intel"
 Bus-ID „PCI:0:2:0“
Endabschnitt

Abschnitt "Bildschirm"
 Kennung "Screen0"
 Gerät "Card0"
 Monitor "Monitor0"
 Unterabschnitt „Anzeige“
 Ansichtsfenster 0 0
 Tiefe 1
 EndSubSection
 Unterabschnitt „Anzeige“
 Ansichtsfenster 0 0
 Tiefe 4
 EndSubSection
 Unterabschnitt „Anzeige“
 Ansichtsfenster 0 0
 Tiefe 8
 EndSubSection
 Unterabschnitt „Anzeige“
 Ansichtsfenster 0 0
 Tiefe 15
 EndSubSection
 Unterabschnitt „Anzeige“
 Ansichtsfenster 0 0
 Tiefe 16
 EndSubSection
 Unterabschnitt „Anzeige“
 Ansichtsfenster 0 0
 Tiefe 24
 EndSubSection
Endabschnitt

Kopieren Sie diese Datei nach /usr/share/X11/xorg.conf.d/xorg.conf

Diese Datei stellt sicher, dass bei angeschlossenem Monitor am Host die Systemschnittstelle normal auf dem Monitor angezeigt werden kann. Als nächstes fügen wir dem System ein virtuelles Display hinzu. Wenn der Host kein Display hat, verwendet das System dieses virtuelle Display.

Installieren Sie den virtuellen Grafiktreiber

sudo apt installiere xserver-xorg-video-dummy

Fügen Sie am Ende dieser Datei den folgenden Inhalt hinzu

Abschnitt "Monitor"
 Kennung "Monitor1"
 HorizSync 1.0 - 2000.0
 VertRefresh 1,0 - 200,0
 # 16:9-Modi hinzufügen, andere werden automatisch erkannt.
 Modeline "1280x720" 74.48 1280 1336 1472 1664 720 721 724 746
 Modeline "1920x1080" 172.80 1920 2040 2248 2576 1080 1081 1084 1118
Endabschnitt


Abschnitt "Gerät"
 Kennung „Card1“
 Fahrer-"Dummy"
 VideoRam 256000
Endabschnitt

Abschnitt "Bildschirm"
 Standardtiefe 24
 Kennung "Screen1"
 Gerät "Card1"
 Monitor „Monitor1“
 Unterabschnitt „Anzeige“
  Tiefe 24
  Modi "1920x1080"
 EndSubSection
Endabschnitt

Auf diese Weise haben wir eine virtuelle Anzeige mithilfe der virtuellen Grafikkarte erstellt. Damit sowohl die virtuelle als auch die reale Anzeige funktionieren, müssen wir das oberste ServerLayout ändern.

Abschnitt "ServerLayout"
    Kennung „X.org konfiguriert“
    Bildschirm 0 "Screen0" 0 0
 Bildschirm 1 "Screen1" 0 0
Endabschnitt

Starten Sie nun den Remotecomputer neu und Sie können sich ohne Monitor remote anmelden.

Bei der obigen Methode gibt es noch ein weiteres Problem. Das heißt, wenn der Benutzer nicht angemeldet ist, besteht keine Möglichkeit zur Fernsteuerung. Sie müssen den Benutzer daher so einrichten, dass er sich automatisch anmeldet.

Dies ist das Ende dieses Artikels über die Installation und Einrichtung von Ubuntu 20.04 VNC. Weitere Informationen zur Installation und Einrichtung von Ubuntu 20.04 VNC finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Lösung für das Startfehlerproblem von AndroidStudio4.1 unter Ubuntu
  • Lösung für das Fehlerproblem bei der Remote-Verbindung von Vscode zu Ubuntu
  • Detailliertes Tutorial zur Verwendung von VS Code und zur Installation von C/C++-Plugins in Ubuntu
  • So ändern Sie das Passwort und legen die Richtlinie zur Passwortkomplexität in Ubuntu fest
  • Ubuntu öffnet Port 22
  • So installieren und konfigurieren Sie GitLab unter Ubuntu 20.04
  • So installieren Sie vncserver in Ubuntu 20.04
  • Ubuntu-Konfiguration Pytorch on Graph (PoG) Umgebungsprozessdiagramm

<<:  Uniapp realisiert gleitenden Scoring-Effekt

>>:  Ein kurzes Verständnis der Unterschiede zwischen MySQL InnoDB und MyISAM

Artikel empfehlen

js zur Realisierung des Mausverfolgungsspiels

In diesem Artikel wird der spezifische Code von j...

Basiswissen: Was bedeutet http vor einer Website-Adresse?

Was ist HTTP? Wenn wir eine Website durchsuchen m...

So erstellen Sie einen Tabellenindex in MySQL

Inhaltsverzeichnis Unterstützt mehrere Filterarte...

Kontext und Eigenschaften von React erklärt

Inhaltsverzeichnis 1. Kontext 1. Anwendungsszenar...

HTML+CSS zum Erstellen eines Dropdown-Menüs

1. Beispiel einer Dropdown-Liste Der Code lautet ...

So geben Sie chinesische Zeichen im Linux-Kernel aus

Sie können problemlos Chinesisch eingeben und im ...

Vue führt weltweit SCSS (Mixin) ein

Inhaltsverzeichnis 1. mixin.scss 2. Einzeldateinu...

So konfigurieren Sie Umgebungsvariablen in einer Linux-Umgebung

JDK-Downloadadresse: http://www.oracle.com/techne...

Express implementiert Login-Verifizierung

In diesem Artikelbeispiel wird der spezifische Co...

HTML-Tabellen-Markup-Tutorial (14): Tabellenkopf

<br />In der HTML-Sprache können Sie der Tab...

Was tun, wenn der Auto-Increment-Primärschlüssel in MySQL aufgebraucht ist?

Im Vorstellungsgespräch sollten Sie folgende Szen...

Eine andere Art von „Abbrechen“-Button

Der „Abbrechen“-Button ist nicht Teil des notwend...

JavaScript zum Erreichen eines Mouse-Tailing-Effekts

Mauseffekte erfordern die Verwendung von setTimeo...