Aktivieren von VNC für Linux-VMs

VMs sind möglicherweise nicht für die Unterstützung von Virtual Network Computing (VNC) eingerichtet, die Citrix Hypervisor zur Remotesteuerung von VMs verwendet. Bevor Sie eine Verbindung mit XenCenter 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 auf jeder der unterstützten Linux-Betriebssystemverteilungen so konfigurieren, dass ordnungsgemäße Interaktionen mit XenCenter möglich sind.

Verwenden Sie für CentOS-basierte VMs die Anweisungen für die Red Hat-basierten VMs unten, 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 des Linux-Gast-Agents.

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-Anzeigemanager die Konsole so, dass ein Anmeldedialogfeld bereitgestellt wird.

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

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

    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 Displaygdm3 Manager-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 Kennwort ist ein ernsthaftes Sicherheitsrisiko) ein. Geben Sie einen Dateinamen ein, in den die Kennwortinformationen geschrieben werden sollen. Zum 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[servers] die [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 XenCenter die grafische Konsole erkennt:

    /etc/init.d/gdm restart
    

Hinweis:

Sie können überprüfen, ob der VNC-Server mit einem Befehl wie ausgeführt wirdps 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 des Linux-Gast-Agents.

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 Verfahren 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 der 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 außer Kraft setzen. 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 den Befehl als root auf der Text-CLI in der VM ausrpm -q vnc-server gdm. Die Paketnamenvnc-server undgdm werden mit den angegebenen Versionsnummern angezeigt.

    Die angezeigten Paketnamen zeigen die Pakete an, die bereits installiert sind. Wenn eine Meldung angezeigt wird, dass ein Paket nicht installiert ist, haben Sie die grafischen Desktop-Optionen während der Installation möglicherweise nicht ausgewählt. Installieren Sie diese Pakete, bevor Sie fortfahren können. Weitere Informationen zur Installation von mehr 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 ein.

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

    • 0=Standard

      Ändern Sie es 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 die Installation in Runlevel 3 gestartet wird, ändern Sie diese Konfiguration, damit der Display-Manager gestartet werden soll, und erhalten Sie Zugriff auf eine grafische Konsole. Weitere Informationen finden Sie unter Runlevels überprüfen.

Firewall-Einstellungen

Die Firewallkonfiguration lässt den VNC-Datenverkehr standardmäßig nicht durchlaufen. Wenn Sie über eine Firewall zwischen der VM und XenCenter verfügen, erlauben Sie Datenverkehr über den Port, den die VNC-Verbindung verwendet. Standardmäßig überwacht ein VNC-Server Verbindungen von einem VNC-Viewer am TCP-Port 5900 + n, wobei die Anzeigenummer (normalerweise Null) n ist. 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 Ihre 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. Select Anpassen aus, 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 reduzieren.

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 geometry VNC-Serverparameter wie folgt festlegen:

  1. Öffnen Sie die GDM-Konfigurationsdatei mit Ihrem bevorzugten Texteditor. Weitere Informationen finden Sie unter Bestimmen Sie den Speicherort der 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 des geometry 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 außer Kraft setzen. 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 Installation des Betriebssystems den Desktop-Modus aus. Wählen Sie auf dem RHEL-Installationsbildschirm Desktop > Jetzt anpassen aus, und klicken Sie dann auf Weiter :

Screenshot des RHEL Installationsbildschirms

Mit dieser Aktion wird der Bildschirm Basissystem angezeigt. Stellen Sie sicher, dass die Legacy-UNIX-Kompatibilität ausgewählt ist:

Screenshot des Bildschirms Basissystem

Select Desktops > Optionale Pakete aus, und klicken Sie dann auf Weiter :

Screenshot des Bildschirms Desktops

Diese Aktion zeigt das Fenster Pakete in 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 der Zeilenlesung 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 starten iptables:

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

        # telinit 3
        # telinit 5
    

Hinweis:

Red Hat Linux verwendet Runlevel 5 für den grafischen Start. Wenn Ihre Installation im Runlevel 3 startet, ä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 überprüfen.

Einrichten von SLES-basierten VMs für VNC

Hinweis:

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

SLES unterstützt die Aktivierung von „Remote Administration“ als Konfigurationsoption inYaST. Sie können die Remoteverwaltung zur Installationszeit 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, damit Sie die grafische Konsole anzeigen können. Die Methode zur Verwendung der SLES-Remoteverwaltungsfunktion unterscheidet sich geringfügig von der von XenCenter bereitgestellten Methode. Es ist jedoch möglich, die Konfigurationsdateien in Ihrer SUSE Linux VM so zu ändern, dass sie in die grafische Konsolenfunktion integriert ist.

Suchen Sie nach einem VNC-Server

Bevor Sie Konfigurationsänderungen vornehmen, stellen Sie sicher, dass ein VNC-Server installiert ist. SUSE liefert dentightvnc Server standardmäßig. 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 das YaST Dienstprogramm aus:

    yast
    
  2. Verwenden Sie die Pfeiltasten, um Netzwerkdienste im linken Menü auszuwählen. , und wählen Sie mithilfe der Pfeiltasten die Option **Remote Administration aus.** Drücken Sie die Eingabetaste.

  3. Klicken Sie im Bildschirm Remoteverwaltungauf den Abschnitt Einstellungen für die Remoteverwaltung . Verwenden Sie die Pfeiltasten, um Remoteverwaltung zulassen auszuwählen, und drücken Sie die Eingabetaste , um ein X in das Kontrollkästchen zu setzen.

  4. Klicken Sie auf den Abschnitt Firewall-Einstellungen . Verwenden Sie die Pfeiltasten, um Port in Firewall öffnen auszuwählen, und drücken Sie die Eingabetaste , um ein X in das Kontrollkästchen zu setzen.

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

  6. Es wird ein Meldungsfeld angezeigt, in dem Sie aufgefordert werden, den Display-Manager neu zu starten, 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. Tippen Sie auf die Schaltfläche Beenden und drücken Sie die Eingabetaste .

Ändern der xinetd-Konfiguration

Ändern Sie nach dem Aktivieren der Remoteverwaltung eine Konfigurationsdatei, wenn Sie zulassen möchten, dass XenCenter eine Verbindung herstellen kann. Alternativ können Sie einen VNC-Client von Drittanbietern 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 Display-Manager und den xinetd 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 überprüfen.

Firewall-Einstellungen

Standardmäßig lässt die Firewall-Konfiguration den VNC-Datenverkehr nicht durchlaufen. Wenn Sie über eine Firewall zwischen der VM und XenCenter verfügen, erlauben Sie Datenverkehr über den Port, den die VNC-Verbindung verwendet. Standardmäßig überwacht ein VNC-Server Verbindungen von einem VNC-Viewer am TCP-Port 5900 + n, wobei die Anzeigenummer (normalerweise Null) n ist. 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 Ihre 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 das YaST Dienstprogramm aus:

    yast
    
  2. Wählen Sie im linken Menü mit den Pfeiltasten Sicherheit und Benutzer aus. Tabulatortaste im rechten Menü und wählen Sie Firewall mit den Pfeiltasten aus. Drücken Sie die Eingabetaste.

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

  4. Klicken Sie auf die Schaltfläche Hinzufügen im Abschnitt Benutzerdefinierte zulässige Regeln , und drücken Sie dann die EINGABETASTE .

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

  6. Klicken Sie auf die Schaltfläche Hinzufügen , und drücken Sie dann die Eingabetaste .

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

  8. Klicken Sie auf der RegisterkarteZusammenfassung auf die Schaltfläche Fertig stellen und drücken Sie die Eingabetaste .

  9. Klicken Sie auf demYaST Bildschirm auf der obersten Ebene auf die Schaltfläche Beenden und drücken Sie die Eingabetaste .

  10. Starten Sie den Display-Manager und den xinetd 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 mithilfe von verwendenYaST . Diese Konfiguration kann zusätzliche Dienste für die Außenwelt bereitstellen und die allgemeine Sicherheit Ihrer VM reduzieren.

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 geometry VNC-Serverparameter wie folgt festlegen:

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

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

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

    Der Wert des geometry 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 überprü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.

  1. Überprüfen/etc/inittab Sie, ob der Standardlauflevel auf eingestellt ist. Suchen Sie nach der Zeile, die lautet:

    id:n:initdefault:
    

    Wenn n nicht 5 ist, bearbeiten Sie die Datei so.

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