Aktivieren von VNC für Linux-VMs

VMs sind möglicherweise nicht so eingerichtet, dass sie Virtual Network Computing (VNC) unterstützen, mit dem HASH (0x2c1a078) VMs standardmäßig remote gesteuert werden. Bevor Sie eine Verbindung mit HASH (0x2e6c8e8) herstellen können, stellen Sie sicher, dass der VNC-Server und ein X-Display-Manager auf der VM installiert und ordnungsgemäß konfiguriert sind. In diesem Abschnitt wird beschrieben, wie Sie VNC für jede der unterstützten Linux-Betriebssystem-Distributionen konfigurieren, um ordnungsgemäße Interaktionen mit HASH (0x2e6c8e8) zu ermöglichen.

Verwenden Sie für CentOS-basierte VMs die folgenden Anweisungen für die Red Hat-basierten VMs, da sie denselben Basiscode verwenden, um grafischen VNC-Zugriff bereitzustellen. CentOS X basiert auf Red Hat Enterprise Linux X .

Aktivieren einer grafischen Konsole auf Debian-VMs

Hinweis:

Bevor Sie eine grafische Konsole auf Ihrer Debian-VM aktivieren, stellen Sie sicher, dass Sie den Linux-Gast-Agent installiert haben. Weitere Informationen finden Sie unter Installieren Sie den Linux-Gast-Agent.

Die grafische Konsole für virtuelle Debian-Maschinen wird von einem VNC-Server bereitgestellt, der innerhalb der VM läuft. In der empfohlenen Konfiguration steuert ein Standard-Anzeige-Manager die Konsole so, dass ein Anmeldedialogfeld bereitgestellt wird.

  1. Installieren Sie Ihren Debian-Gast mit den Desktop-System-Paketen oder installieren Sie GDM (den Display-Manager) mit apt (nach Standardprozeduren).

  2. Installieren Sie den Xvnc Server mitapt-get (oder ähnlichen):

    apt-get install vnc4server
    

    Hinweis:

    Die Debian Graphical Desktop Environment, die den Gnome Display Manager Version 3 Daemon verwendet, kann erhebliche CPU-Zeit in Anspruch nehmen. Deinstallieren Sie das Gnome Display Manager-gdm3 Paket und installieren Sie dasgdm Paket wie folgt:

    apt-get install gdm
    apt-get purge gdm3
    
  3. Richten Sie mithilfe desvncpasswd Befehls ein VNC-Kennwort ein (kein einziges ist ein schwerwiegendes Sicherheitsrisiko) ein. Übergeben Sie einen Dateinamen, in den die Kennwortinformationen geschrieben werden sollen. Beispiel:

    vncpasswd /etc/vncpass
    
  4. Ändern Sie Ihregdm.conf Datei (/etc/gdm/gdm.conf ), um einen VNC-Server für die Verwaltung der Anzeige zu konfigurieren,0 indem Sie die[servers] Option [daemon]Abschnitte wie folgt:

        [servers]
        0=VNC
        [daemon]
        VTAllocation=false
        [server-VNC]
        name=VNC
        command=/usr/bin/Xvnc -geometry 800x600 -PasswordFile /etc/vncpass BlacklistTimeout=0
        flexible=true
    
  5. Starten Sie GDM neu, und warten Sie, bis HASH (0x2e6c8e8) die grafische Konsole erkennt:

    /etc/init.d/gdm restart
    

Hinweis:

Sie können überprüfen, ob der VNC-Server läuft, indem Sie einen Befehl wie verwendenps ax | grep vnc.

Aktivieren einer grafischen Konsole auf Red Hat, CentOS oder Oracle Linux VMs

Hinweis:

Bevor Sie Ihre Red Hat VMs für VNC einrichten, stellen Sie sicher, dass Sie den Linux-Gast-Agent installiert haben. Weitere Informationen finden Sie unter Installieren Sie den Linux-Gast-Agent.

Um VNC auf Red Hat VMs zu konfigurieren, ändern Sie die GDM-Konfiguration. Die GDM-Konfiguration wird in einer Datei gespeichert, deren Speicherort abhängig von der verwendeten Red Hat Linux-Version variiert. Bevor Sie es ändern, bestimmen Sie zuerst den Speicherort dieser Konfigurationsdatei. Diese Datei wird in mehreren nachfolgenden Prozeduren in diesem Abschnitt geändert.

Hinweis:

Informationen zum Aktivieren von VNC für RHEL, CentOS oder OEL 6.x VMs finden Sie unterAktivieren von VNC für RHEL, CentOS oder OEL 6-VMs.

Bestimmen Sie den Speicherort Ihrer VNC-Konfigurationsdatei

Wenn Sie Red Hat Linux Version 5.x verwenden, lautet die GDM-Konfigurationsdatei/etc/gdm/custom.conf. Diese Datei ist eine geteilte Konfigurationsdatei, die nur benutzerdefinierte Werte enthält, die die Standardkonfiguration überschreiben. Dieser Dateityp wird standardmäßig in neueren Versionen von GDM verwendet. Es ist in diesen Versionen von Red Hat Linux enthalten.

Konfigurieren von GDM für die Verwendung von VNC

  1. Führen Sie als Root auf der Text-CLI in der VM den Befehl ausrpm -q vnc-server gdm. Die Paketnamenvnc-server undgdm werden mit ihren Versionsnummern angegeben.

    Die angezeigten Paketnamen zeigen die bereits installierten Pakete an. Wenn eine Meldung angezeigt wird, die besagt, dass ein Paket nicht installiert ist, haben Sie möglicherweise während der Installation die grafischen Desktopoptionen nicht ausgewählt. Installieren Sie diese Pakete, bevor Sie fortfahren können. Weitere Informationen zur Installation weiterer Software auf Ihrer VM finden Sie im entsprechenden Red Hat Linux x86 Installationshandbuch.

  2. Öffnen Sie die GDM-Konfigurationsdatei mit Ihrem bevorzugten Texteditor und fügen Sie der Datei folgende Zeilen hinzu:

        [server-VNC]
        name=VNC Server
        command=/usr/bin/Xvnc -SecurityTypes None -geometry 1024x768 -depth 16 \
        -BlacklistTimeout 0
        flexible=true
    

    Mit Konfigurationsdateien unter Red Hat Linux 5.x fügen Sie diese Zeilen in den leeren[servers] Abschnitt hinzu.

  3. Ändern Sie die Konfiguration so, dass derXvnc Server anstelle des Standard-X-Servers verwendet wird:

    • 0=Standard

      Ändern Sie es, um zu lesen:

      0=VNC

    • Wenn Sie Red Hat Linux 5.x oder höher verwenden, fügen Sie die obige Zeile direkt unter dem[servers] Abschnitt und vor dem[server-VNC] Abschnitt hinzu.

  4. Speichern und schließen Sie die Datei.

Starten Sie GDM neu, damit Ihre Konfigurationsänderung wirksam wird, indem Sie den Befehl ausführen/usr/sbin/gdm-restart.

Hinweis:

Red Hat Linux verwendet Runlevel 5 für den grafischen Start. Wenn Ihre Installation in Runlevel 3 gestartet wird, ändern Sie diese Konfiguration für den zu startenden Display-Manager und erhalten Sie Zugriff auf eine grafische Konsole. Weitere Informationen finden Sie unter Runlevels prüfen.

Firewall-Einstellungen

Die Firewall-Konfiguration lässt den VNC-Datenverkehr standardmäßig nicht zu. Wenn Sie eine Firewall zwischen der VM und dem HASH (0x2e6c8e8) haben, lassen Sie Datenverkehr über den von der VNC-Verbindung verwendeten Port zu. Standardmäßig überwacht ein VNC-Server auf Verbindungen von einem VNC-Viewer am TCP-Port5900 + n, wobei die Anzeigenummer (normalerweise Null)nist. So hört ein VNC-Server-Setup für Display-0 auf TCP-Port5900, Display-1 istTCP-5901und so weiter. Überprüfen Sie die Firewall-Dokumentation, um sicherzustellen, dass diese Ports geöffnet sind.

Wenn Sie die IP-Verbindungsverfolgung verwenden oder die Initiierung von Verbindungen nur von einer Seite einschränken möchten, konfigurieren Sie die Firewall weiter.

So konfigurieren Sie die Red Hat-Base VMS-Firewall zum Öffnen des VNC-Ports:

  1. Verwenden Sie für Red Hat Linux 5.xsystem-config-securitylevel-tui.

  2. Wählen Sie Anpassen und fügen5900 Sie der Liste der anderen Ports hinzu.

Alternativ können Sie die Firewall bis zum nächsten Neustart deaktivierenservice iptables stop, indem Sie den Befehl ausführen oder dauerhaft ausführenchkconfig iptables off. Diese Konfiguration kann zusätzliche Dienste für die Außenwelt bereitstellen und die allgemeine Sicherheit Ihrer VM verringern.

VNC-Bildschirmauflösung

Nach der Verbindung mit einer virtuellen Maschine mit der grafischen Konsole stimmt die Bildschirmauflösung manchmal nicht überein. Beispielsweise ist die VM-Anzeige zu groß, um bequem in den Bereich Grafische Konsole zu passen. Steuern Sie dieses Verhalten, indem Sie den VNC-Servergeometry parameter wie folgt festlegen:

  1. Öffnen Sie die GDM-Konfigurationsdatei mit Ihrem bevorzugten Texteditor. Weitere Informationen finden Sie unter Bestimmen Sie den Speicherort Ihrer VNC-Konfigurationsdatei.

  2. Suchen Sie den[server-VNC] Abschnitt, den Sie oben hinzugefügt haben.

  3. Bearbeiten Sie die zu lesende Befehlszeile, zum Beispiel:

    command=/usr/bin/Xvnc -SecurityTypes None -geometry 800x600
    

    Der Wert desgeometry Parameters kann eine beliebige gültige Bildschirmbreite und -höhe sein.

  4. Speichern und schließen Sie die Datei.

Aktivieren von VNC für RHEL, CentOS oder OEL 6-VMs

Wenn Sie Red Hat Linux Version 6.x verwenden, lautet die GDM-Konfigurationsdatei/etc/gdm/custom.conf. Diese Datei ist eine geteilte Konfigurationsdatei, die nur benutzerdefinierte Werte enthält, die die Standardkonfiguration überschreiben. Standardmäßig wird dieser Dateityp in neueren Versionen von GDM verwendet und ist in diesen Versionen von Red Hat Linux enthalten.

Wählen Sie während der Betriebssysteminstallation den Desktop modus aus. Wählen Sie im RHEL-Installationsbildschirm Desktop > Jetzt anpassen aus, und klicken Sie dann auf Weiter :

Screenshot des RHEL-Installationsbildschirms

Mit dieser Aktion wird das Fenster „Basissystem“ angezeigt. Stellen Sie sicher, dass Legacy-UNIX-Kompatibilität ausgewählt ist:

Screenshot des Bildschirms „Basissystem“

Wählen Sie Desktops > Optionale Pakete aus, und klicken Sie dann auf Weiter :

Screenshot des Bildschirms Desktops

Diese Aktion zeigt das Fenster Pakete im Desktop an, wählen Sie tigervnc-server- < version_number > und klicken Sie dann auf Weiter:****

Screenshot des Fensters „Pakete im Desktop“

Führen Sie die folgenden Schritte durch, um die Einrichtung Ihrer RHEL 6.x-VMs fortzusetzen:

  1. Öffnen Sie die GDM-Konfigurationsdatei mit Ihrem bevorzugten Texteditor und fügen Sie den entsprechenden Abschnitten folgende Zeilen hinzu:

        [security]
        DisallowTCP=false
    
        [xdmcp]
        Enable=true
    
  2. Erstellen Sie die Datei,/etc/xinetd.d/vnc-server-stream:

        service vnc-server
        {
                      id = vnc-server
                 disable = no
                    type = UNLISTED
                    port = 5900
             socket_type = stream
                    wait = no
                    user = nobody
                   group = tty
                  server = /usr/bin/Xvnc
             server_args = -inetd -once -query localhost -SecurityTypes None \
             -geometry 800x600 -depth 16
        }
    
  3. Geben Sie den folgenden Befehl ein, um denxinetd Dienst zu starten:

    # service xinetd start
    
  4. Öffnen Sie die Datei/etc/sysconfig/iptables. Fügen Sie die folgende Zeile über dem Zeilenlesen hinzu-A INPUT -j REJECT --reject-with icmp-host-prohibited:

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 5900 -j ACCEPT
    
  5. Geben Sie den folgenden Befehl ein, um neu zu starteniptables:

    # service iptables restart
    
  6. Geben Sie den folgenden Befehl ein, um neu zu startengdm:

        # telinit 3
        # telinit 5
    

Hinweis:

Red Hat Linux verwendet Runlevel 5 für den grafischen Start. Wenn Ihre Installation in Runlevel 3 gestartet wird, ändern Sie diese Konfiguration für den Display-Manager gestartet werden und um Zugriff auf eine grafische Konsole zu erhalten. Weitere Informationen finden Sie unter Runlevels prüfen.

Einrichten von SLES-basierten VMs für VNC

Hinweis:

Stellen Sie sicher, dass Sie den Linux-Gast-Agent installiert haben, bevor Sie Ihre SUSE Linux Enterprise Server-VMs für VNC einrichten. Weitere Informationen Installieren Sie den Linux-Gast-Agent finden Sie unter.

SLES unterstützt die Aktivierung von „Remote Administration“ als Konfigurationsoption inYaST. Sie können die Remoteverwaltung zum Zeitpunkt der Installation aktivieren, die auf dem Bildschirm Netzwerkdienste des SLES-Installationsprogramms verfügbar ist. Mit dieser Funktion können Sie einen externen VNC-Viewer mit Ihrem Gast verbinden, um die grafische Konsole anzuzeigen. Die Methode zur Verwendung der SLES-Remote-Administrationsfunktion unterscheidet sich geringfügig von der von HASH bereitgestellten Methode (0x2e6c8e8). Es ist jedoch möglich, die Konfigurationsdateien in Ihrer SUSE Linux-VM so zu modifizieren, dass sie in die grafische Konsolenfunktion integriert ist.

Nach einem VNC-Server suchen

Bevor Sie Konfigurationsänderungen vornehmen, stellen Sie sicher, dass ein VNC-Server installiert ist. SUSE liefert dentightvnc Server standardmäßig aus. Dieser Server ist ein geeigneter VNC-Server, aber Sie können auch die Standard-RealVNC-Distribution verwenden.

Sie können überprüfen, ob dietightvnc Software installiert ist, indem Sie den folgenden Befehl ausführen:

rpm -q tightvnc

Remote-Verwaltung aktivieren

Wenn die Remoteverwaltung während der Installation der SLES-Software nicht aktiviert wurde, können Sie sie wie folgt aktivieren:

  1. Öffnen Sie eine Textkonsole auf der VM und führen Sie dasYaST Dienstprogramm aus:

    yast
    
  2. Verwenden Sie die Pfeiltasten, um Netzwerkdienste im linken Menü auszuwählen. Tippen Sie im rechten Menü auf und wählen Sie mithilfe der Pfeiltasten die Option Remoteverwaltung aus. Drücken Sie die Eingabetaste.

  3. Klicken Sie im Bildschirm Remoteverwaltung auf die Registerkarte zum Abschnitt Remoteverwaltungseinstellungen . Verwenden Sie die Pfeiltasten, um Remote-Administration zulassen auszuwählen, und drücken Sie die Eingabetaste , um ein X in das Kontrollkästchen zu platzieren.

  4. Tab zum Abschnitt Firewall-Einstellungen . Wählen Sie mit den Pfeiltasten Port in Firewall öffnen aus, und drücken Sie die Eingabetaste , um ein X in das Kontrollkästchen zu setzen.

  5. Klicken Sie auf die Schaltfläche Fertig stellen und drücken Sie die Eingabetaste .

  6. Es wird ein Meldungsfeld angezeigt, in dem Sie den Anzeige-Manager neu starten müssen, damit Ihre Einstellungen wirksam werden. Drücken Sie die Eingabetaste , um die Nachricht zu bestätigen.

  7. Das ursprüngliche Menü der obersten Ebene vonYaST wird angezeigt. Tab zur Be enden-Schaltfläche und drücken Sie die Eingabetaste .

Ändern der xinetd-Konfiguration

Ändern Sie nach der Aktivierung der Remoteverwaltung eine Konfigurationsdatei, wenn Sie die Verbindung von HASH (0x2e6c8e8) zulassen möchten. Alternativ können Sie einen VNC-Client eines Drittanbieters verwenden.

  1. Öffnen Sie die Datei/etc/xinetd.d/vnc in Ihrem bevorzugten Texteditor.

  2. Die Datei enthält Abschnitte wie die folgenden:

        service vnc1
        {
        socket_type = stream
        protocol    = tcp
        wait        = no
        user        = nobody
        server      = /usr/X11R6/bin/Xvnc
        server_args = :42 -inetd -once -query localhost -geometry 1024x768 -depth 16
        type        = UNLISTED
        port        = 5901
        }
    
  3. Bearbeiten Sie die zu lesendeport Zeile

    port = 5900
    
  4. Speichern und schließen Sie die Datei.

  5. Starten Sie den Anzeige-Manager und denxinetd Dienst mit den folgenden Befehlen neu:

    /etc/init.d/xinetd restart
    rcxdm restart
    

SUSE Linux verwendet Runlevel 5 für den grafischen Start. Wenn Ihr Remote-Desktop nicht angezeigt wird, stellen Sie sicher, dass Ihre VM für den Start in Runlevel 5 konfiguriert ist. Weitere Informationen finden Sie unter Runlevels prüfen.

Firewall-Einstellungen

Standardmäßig lässt die Firewall-Konfiguration den VNC-Datenverkehr nicht zu. Wenn Sie eine Firewall zwischen der VM und dem HASH (0x2e6c8e8) haben, lassen Sie Datenverkehr über den von der VNC-Verbindung verwendeten Port zu. Standardmäßig überwacht ein VNC-Server auf Verbindungen von einem VNC-Viewer am TCP-Port5900 + n, wobei die Anzeigenummer (normalerweise Null)nist. So hört ein VNC-Server-Setup für Display-0 auf TCP-Port5900, Display-1 istTCP-5901und so weiter. Überprüfen Sie die Firewall-Dokumentation, um sicherzustellen, dass diese Ports geöffnet sind.

Wenn Sie die IP-Verbindungsverfolgung verwenden oder die Initiierung von Verbindungen nur von einer Seite einschränken möchten, konfigurieren Sie die Firewall weiter.

So öffnen Sie den VNC-Port auf der SLES 11.x VMs Firewall:

  1. Öffnen Sie eine Textkonsole auf der VM und führen Sie dasYaST Dienstprogramm aus:

    yast
    
  2. Verwenden Sie die Pfeiltasten, um Sicherheit und Benutzer im linken Menü auszuwählen. Tippen Sie auf das rechte Menü und wählen Sie mithilfe der Pfeiltasten Firewall aus. Drücken Sie die Eingabetaste.

  3. Wählen Sie im Bildschirm Firewall mit den Pfeiltasten Benutzerdefinierte Regeln im linken Menü aus, und drücken Sie dann die EIN GABETASTE .

  4. Tab zur Schaltfläche Hinzufügen im Abschnitt Benutzerdefinierte erlaubte Regeln , und drücken Sie dann die EINGABETASTE .

  5. Geben Sie im Feld Quellnetzwerk den Wert 0/0 ein. Klicken Sie auf das Feld Zielport , und geben Sie 5900 ein.

  6. Tab zur Schaltfläche Hinzufügen und drücken Sie dann die EIN GABETASTE .

  7. Tab zur Schaltfläche Weiter und drücken Sie die Eingabetaste .

  8. Klicken Sie im Übersichts bildschirm Tab auf die Schaltfläche Fertig stellen und drücken Sie die Eingabetaste .

  9. Klicken Sie auf dem oberstenYaST Bildschirm Tab auf die Schaltfläche Beenden und drücken Sie die Eingabetaste .

  10. Starten Sie den Anzeige-Manager und denxinetd Dienst mit den folgenden Befehlen neu:

    /etc/init.d/xinetd restart
    rcxdm restart
    

Alternativ können Sie die Firewall bis zum nächsten Neustart deaktivieren, indem Sie den Befehl RCSUseFirewall2 stop ausführen oder dauerhaft verwendenYaST . Diese Konfiguration kann zusätzliche Dienste für die Außenwelt bereitstellen und die allgemeine Sicherheit Ihrer VM verringern.

VNC-Bildschirmauflösung

Nach der Verbindung mit einer virtuellen Maschine über die grafische Konsole stimmt die Bildschirmauflösung manchmal nicht überein. Beispielsweise ist die VM-Anzeige zu groß, um bequem in den Bereich Grafische Konsole zu passen. Steuern Sie dieses Verhalten, indem Sie den VNC-Servergeometry parameter wie folgt festlegen:

  1. Öffnen Sie die/etc/xinetd.d/vnc Datei mit Ihrem bevorzugten Texteditor und suchen Sie denservice_vnc1 Abschnitt (entsprechenddisplayID 1).

  2. Bearbeiten Sie dasgeometry Argument in derserver-args Zeile auf die gewünschte Bildschirmauflösung. Zum Beispiel:

    server_args  = :42 -inetd -once -query localhost -geometry 800x600 -depth 16
    

    Der Wert desgeometry Parameters kann eine beliebige gültige Bildschirmbreite und -höhe sein.

  3. Speichern und schließen Sie die Datei.

  4. Starten Sie den VNC-Server neu:

    /etc/init.d/xinetd restart
    rcxdm restart
    

Runlevels prüfen

Red Hat und SUSE Linux VMs verwenden Runlevel 5 für den grafischen Start. In diesem Abschnitt wird beschrieben, wie Sie überprüfen, ob Ihre VM in Runlevel 5 gestartet wird und wie Sie diese Einstellung ändern können.

  1. Überprüfen/etc/inittab Sie, wie der Standard-Runlevel eingestellt ist. Suchen Sie nach der Zeile, die lautet:

    id:n:initdefault:
    

    Wenn n nicht 5 ist, bearbeiten Sie die Datei, um sie so zu machen.

  2. Sie können den Befehltelinit q ; telinit 5 nach dieser Änderung ausführen, um einen Neustart zu vermeiden, um Runlevels zu wechseln.