Citrix Hypervisor

VNC für Linux-VMs aktivieren

VMs sind möglicherweise nicht für die Unterstützung von Virtual Network Computing (VNC) eingerichtet, mit dem Citrix Hypervisor VMs remote steuert. 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 VNC auf jeder der unterstützten Linux-Betriebssystemverteilungen konfiguriert wird, um ordnungsgemäße Interaktionen mit XenCenter zu ermöglichen.

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

Eine grafische Konsole auf Debian-VMs aktivieren

Hinweis:

Bevor Sie eine grafische Konsole auf Ihrer Debian-VM aktivieren, stellen Sie sicher, dass Sie die Citrix VM Tools für Linux installiert haben. Weitere Informationen finden Sie unter Citrix VM Tools für Linux installieren.

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-Display-Manager die Konsole, sodass ein Anmeldedialogfeld bereitgestellt wird.

  1. Installieren Sie Ihren Debian-Gast mit den Desktop-Systempaketen oder installieren Sie GDM (den Displaymanager) mit APT (gemäß den Standardverfahren).

  2. Installieren Sie den Xvnc-Server mit apt-get (oder ähnlich):

    apt-get install vnc4server
    <!--NeedCopy-->
    

    Hinweis:

    Die grafische Debian-Desktop-Umgebung, die den Gnome Display Manager-Dämon der Version 3 verwendet, kann erhebliche CPU-Zeit in Anspruch nehmen. Deinstallieren Sie das Gnome Display Manager-Paket gdm3 und installieren Sie das Paket gdm wie folgt:

    apt-get install gdm
    apt-get purge gdm3
    <!--NeedCopy-->
    
  3. Richten Sie ein VNC-Kennwort ein (keines zu haben ist ein ernstes Sicherheitsrisiko), indem Sie den Befehl vncpasswd verwenden. Geben Sie einen Dateinamen ein, in den die Kennwortinformationen geschrieben werden sollen. Beispiel:

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

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

    /etc/init.d/gdm restart
    <!--NeedCopy-->
    

Hinweis:

Sie können überprüfen, ob der VNC-Server ausgeführt wird, indem Sie einen Befehl wie ps ax | grep vnc verwenden.

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 die Citrix VM Tools für Linux installiert haben. Weitere Informationen finden Sie unter Citrix VM Tools für Linux installieren.

Um VNC auf Red Hat VMs zu konfigurieren, ändern Sie die GDM-Konfiguration. Die GDM-Konfiguration befindet sich in einer Datei, deren Speicherort je nach verwendeter Version von Red Hat Linux variiert. Bevor Sie es ändern, ermitteln Sie zunächst den Speicherort dieser Konfigurationsdatei. Diese Datei wird in mehreren nachfolgenden Verfahren in diesem Abschnitt geändert.

Bestimmen Sie den Speicherort Ihrer VNC-Konfigurationsdatei

Wenn Sie Red Hat Linux verwenden, ist die GDM-Konfigurationsdatei /etc/gdm/custom.conf. Diese Datei ist eine geteilte Konfigurationsdatei, die nur vom Benutzer angegebene 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 Sie GDM für die Verwendung von VNC

  1. Führen Sie als Stammverzeichnis auf der Text-CLI in der VM den Befehl rpm -q vnc-server gdm aus. Die Paketnamen vnc-server und gdm werden mit den angegebenen Versionsnummern angezeigt.

    Die angezeigten Paketnamen zeigen die Pakete an, die bereits installiert sind. Wenn Sie eine Meldung sehen, die besagt, dass ein Paket nicht installiert ist, haben Sie möglicherweise die Optionen für den grafischen Desktop während der Installation nicht ausgewählt. Installieren Sie diese Pakete, bevor Sie fortfahren können. Einzelheiten 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
    <!--NeedCopy-->
    

    Bei Konfigurationsdateien auf Red Hat Linux fügen Sie diese Zeilen in den leeren [servers]-Abschnitt ein.

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

    • 0=Standard

      Ändern Sie es zum Lesen:

      0=VNC

    • Wenn Sie Red Hat Linux 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 /usr/sbin/gdm-restart ausführen.

Hinweis:

Red Hat Linux verwendet Runlevel 5 für den grafischen Start. Wenn Ihre Installation in Runlevel 3 startet, ändern Sie diese Konfiguration, damit der Displaymanager gestartet wird, und erhalten Sie Zugriff auf eine grafische Konsole. Weitere Informationen finden Sie unter Ausführungsebenen überprüfen.

Firewalleinstellungen

Die Firewallkonfiguration erlaubt standardmäßig keinen VNC-Datenverkehr. Wenn Sie eine Firewall zwischen der VM und XenCenter haben, lassen Sie Datenverkehr über den Port zu, den die VNC-Verbindung verwendet. Standardmäßig wartet ein VNC-Server auf Verbindungen von einem VNC-Viewer am TCP-Port 5900 + n, wobei n die Anzeigenummer (normalerweise Null) ist. Ein VNC-Server-Setup für Display-0 lauscht also auf dem TCP-Port 5900TCP-5901, Display-1 ist und so weiter. Konsultieren Sie Ihre Firewall-Dokumentation, um sicherzustellen, dass diese Ports geöffnet sind.

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

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

  1. Verwenden Sie für RedHat Linux system-config-securitylevel-tui.

  2. Wählen Sie Anpassen aus und fügen Sie 5900 zur Liste der anderen Ports hinzu.

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

VNC-Bildschirmauflösung

Nach dem Herstellen einer Verbindung zu einer VM über die grafische Konsole stimmt die Bildschirmauflösung manchmal nicht überein. Beispielsweise ist das VM-Display zu groß, um bequem in den Bereich der grafischen Konsole zu passen. Steuern Sie dieses Verhalten, indem Sie den VNC-Serverparameter geometry wie folgt festlegen:

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

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

  3. Bearbeiten Sie die Befehlszeile zum Lesen, zum Beispiel:

    command=/usr/bin/Xvnc -SecurityTypes None -geometry 800x600
    <!--NeedCopy-->
    

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

  4. Speichern und schließen Sie die Datei.

VNC für RHEL-, CentOS- oder OEL-VMs aktivieren

Wenn Sie Red Hat Linux verwenden, ist die GDM-Konfigurationsdatei /etc/gdm/custom.conf. Diese Datei ist eine geteilte Konfigurationsdatei, die nur vom Benutzer angegebene 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 auf dem RHEL-Installationsbildschirm Desktop > Jetzt anpassen aus und klicken Sie dann auf Weiter:

Screenshot des RHEL-Installationsbildschirms

Diese Aktion zeigt den Bildschirm Basissystem an. Stellen Sie sicher, dass Legacy-UNIX-Kompatibilität ausgewählt ist:

Screenshot des Bildschirms Basissystem

Wählen Sie Desktops > Optionale Paketeaus 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 VMs fortzusetzen:

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

        [security]
        DisallowTCP=false
    
        [xdmcp]
        Enable=true
    <!--NeedCopy-->
    
  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
        }
    <!--NeedCopy-->
    
  3. Geben Sie den folgenden Befehl ein, um den Dienst xinetd zu starten:

    # service xinetd start
    <!--NeedCopy-->
    
  4. Öffne die Datei /etc/sysconfig/iptables. Füge die folgende Zeile über dem Zeilenwert hinzu -A INPUT -j REJECT --reject-with icmp-host-prohibited:

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 5900 -j ACCEPT
    <!--NeedCopy-->
    
  5. Geben Sie den folgenden Befehl ein, um iptables neu zu starten:

    # service iptables restart
    <!--NeedCopy-->
    
  6. Geben Sie den folgenden Befehl ein, um gdm neu zu starten:

        # telinit 3
        # telinit 5
    <!--NeedCopy-->
    

Hinweis:

Red Hat Linux verwendet Runlevel 5 für den grafischen Start. Wenn Ihre Installation in Runlevel 3 startet, ändern Sie diese Konfiguration, damit der Displaymanager gestartet wird und um Zugriff auf eine grafische Konsole zu erhalten. Weitere Informationen finden Sie unter Ausführungsebenen überprüfen.

Einrichten von SLES-basierten VMs für VNC

Hinweis:

Stellen Sie vor dem Einrichten Ihrer SUSE Linux Enterprise Server-VMs für VNC sicher, dass Sie die Citrix VM Tools für Linux installiert haben. Weitere Informationen finden Sie unter Installieren der Citrix VM Tools für Linux .

SLES bietet Unterstützung für die Aktivierung von “Remote Administration” als Konfigurationsoption in YaST. Sie können auswählen, dass die Remote-Verwaltung während der Installation aktiviert werden soll. Diese Option ist im Bildschirm Netzwerkdienste des SLES-Installationsprogramms verfügbar. 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 sind.

Suchen Sie nach einem VNC-Server

Bevor Sie die Konfiguration ändern, stellen Sie sicher, dass Sie einen VNC-Server installiert haben. SUSE liefert standardmäßig mit tightvnc-Server. Dieser Server ist ein geeigneter VNC-Server, aber Sie können auch die RealVNC-Standardverteilung verwenden.

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

rpm -q tightvnc
<!--NeedCopy-->

Remote-Verwaltung aktivieren

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

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

    yast
    <!--NeedCopy-->
    
  2. Wählen Sie mit den Pfeiltasten im linken Menü Netzwerkdienste aus. Gehen Sie mit der Tabulatortaste zum rechten Menü und wählen Sie mit den Pfeiltasten Remoteverwaltung aus. Drücken Sie die Eingabetaste.

  3. Gehen Sie im Fenster Remote-Verwaltung mit der Tabulatortaste zum Abschnitt Einstellungen der Remote-Verwaltung . Wählen Sie mit den Pfeiltasten die Option Remoteverwaltung zulassen aus, und drücken Sie die Eingabetaste, um ein X in das Kontrollkästchen zu setzen.

  4. GehenSie mit der Tabulatortaste 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. Drücken Sie die Tabulatortaste, um zur Schaltfläche Fertig stellen zu gelangen und drücken Sie die Eingabetaste.

  6. Ein Meldungsfeld wird angezeigt, in dem Sie aufgefordert werden, den Displaymanager neu zu starten, damit Ihre Einstellungen wirksam werden. Drücken Sie die Eingabetaste, um die Meldung zu bestätigen.

  7. Das ursprüngliche oberste Menü von YaST wird angezeigt. Wechseln Sie mit der Tabulatortaste zur Quit-Taste und drücken Sie die Eingabetaste.

Ändern der xinetd-Konfiguration

Ändern Sie nach der Aktivierung der Remoteverwaltung eine Konfigurationsdatei, wenn XenCenter eine Verbindung herstellen soll. Verwenden Sie alternativ einen VNC-Client eines Drittanbieters.

  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
        }
    <!--NeedCopy-->
    
  3. Bearbeiten Sie die port-Zeile zu read

    port = 5900
    <!--NeedCopy-->
    
  4. Speichern und schließen Sie die Datei.

  5. Starten Sie den Display-Manager und den Dienst xinetd mit den folgenden Befehlen neu:

    /etc/init.d/xinetd restart
    rcxdm restart
    <!--NeedCopy-->
    

SUSE Linux verwendet Runlevel 5 für den grafischen Start. Wenn Ihr Remotedesktop nicht angezeigt wird, überprüfen Sie, ob Ihre VM für den Start in Runlevel 5 konfiguriert ist. Weitere Informationen finden Sie unter Ausführungsebenen überprüfen.

Firewalleinstellungen

Standardmäßig lässt die Firewallkonfiguration keinen VNC-Datenverkehr zu. Wenn Sie eine Firewall zwischen der VM und XenCenter haben, lassen Sie Datenverkehr über den Port zu, den die VNC-Verbindung verwendet. Standardmäßig wartet ein VNC-Server auf Verbindungen von einem VNC-Viewer am TCP-Port 5900 + n, wobei n die Anzeigenummer (normalerweise Null) ist. Ein VNC-Server-Setup für Display-0 lauscht also auf dem TCP-Port 5900TCP-5901, Display-1 ist usw. Konsultieren Sie Ihre Firewall-Dokumentation, um sicherzustellen, dass diese Ports geöffnet sind.

Wenn Sie die IP-Verbindungsverfolgung verwenden oder die Initiierung von Verbindungen auf nur von einer Seite beschrä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 Dienstprogramm YaST aus:

    yast
    <!--NeedCopy-->
    
  2. Wählen Sie mit den Pfeiltasten im linken Menü Sicherheit und Benutzer aus. GehenSie mit der Tabulatortaste zum rechten Menü und wählen Sie mit den Pfeiltasten Firewall Drücken Sie die Eingabetaste.

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

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

  5. Geben Sie im Feld Quellnetzwerk0/0ein. Gehen Sie mit der Tabulatortaste zum Feld Zielport und geben Sie 5900 ein.

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

  7. Wechseln Sie mit der Tabulatortaste zur Schaltfläche Weiter und drücken

  8. Gehen Sie im Bildschirm Zusammenfassung mit der Tabulatortaste zur Schaltfläche Fertig stellen und drücken Sie

  9. Auf dem YaST-Bildschirm der obersten Ebene wechseln Sie mit der Tabulatortaste zur Schaltfläche Beenden und drücken Sie die Eingabetaste.

  10. Starten Sie den Display-Manager und den Dienst xinetd mit den folgenden Befehlen neu:

    /etc/init.d/xinetd restart
    rcxdm restart
    <!--NeedCopy-->
    

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

VNC-Bildschirmauflösung

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

  1. Öffnen Sie die Datei /etc/xinetd.d/vnc mit Ihrem bevorzugten Texteditor und suchen Sie den Abschnitt service_vnc1 (entspricht displayID 1).

  2. Ändern Sie das Argument geometry in der Zeile server-args auf die gewünschte Bildschirmauflösung. Beispiel:

    server_args  = :42 -inetd -once -query localhost -geometry 800x600 -depth 16
    <!--NeedCopy-->
    

    Der Wert des Parameters geometry 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
    <!--NeedCopy-->
    

Prüfe die Laufstufen

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

  1. Prüfen Sie in /etc/inittab wie Standard-Runlevel eingestellt ist. Suchen Sie nach der Zeile mit der Aufschrift:

    id:n:initdefault:
    <!--NeedCopy-->
    

    Wenn n nicht 5 ist, bearbeiten Sie die Datei, damit dies der Fall ist.

  2. Sie können den Befehl telinit q ; telinit 5 nach dieser Änderung ausführen, um zu vermeiden, dass Sie neu starten müssen, um die Laufstufen zu wechseln.

VNC für Linux-VMs aktivieren