VNC für Linux-VMs aktivieren
Virtuelle Rechner sind möglicherweise nicht für die Unterstützung von Virtual Network Computing (VNC) eingerichtet, das XenServer 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 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 XenServer VM Tools für Linux installiert haben. Weitere Informationen finden Sie unter Installieren der XenServer VM Tools für Linux.
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.
-
Installieren Sie Ihren Debian-Gast mit den Desktop-Systempaketen oder installieren Sie GDM (den Displaymanager) mit APT (gemäß den Standardverfahren).
-
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 Paketgdm
wie folgt:apt-get install gdm apt-get purge gdm3 <!--NeedCopy-->
-
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-->
-
Ändern Sie Ihre Datei
gdm.conf
(/etc/gdm/gdm.conf
), um einen VNC-Server für die Verwaltung der Anzeige0
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-->
-
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 XenServer VM Tools für Linux installiert haben. Weitere Informationen finden Sie unter Installieren der XenServer VM Tools für Linux.
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
-
Führen Sie als Stammverzeichnis auf der Text-CLI in der VM den Befehl
rpm -q vnc-server gdm
aus. Die Paketnamenvnc-server
undgdm
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.
-
Ö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. -
Ä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.
-
-
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 5900
TCP-5901
, Display-1 ist und so weiter. Konsultieren Sie Ihre Firewall-Dokumentation, um sicherzustellen, dass diese Ports geöffnet sind. Weitere Informationen finden Sie unter Von XenServer verwendete Kommunikationsports.
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:
-
Verwenden Sie für RedHat Linux
system-config-securitylevel-tui
. -
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:
-
Öffnen Sie die GDM-Konfigurationsdatei mit Ihrem bevorzugten Texteditor. Weitere Informationen finden Sie unter Bestimmen des Speicherorts Ihrer VNC-Konfigurationsdatei.
-
Suchen Sie den Abschnitt
[server-VNC]
, den Sie oben hinzugefügt haben. -
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. -
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:
Diese Aktion zeigt den Bildschirm Basissystem an. Stellen Sie sicher, dass Legacy-UNIX-Kompatibilität ausgewählt ist:
Wählen Sie Desktops > Optionale Paketeaus und klicken Sie dann auf Weiter:
Diese Aktion zeigt das Fenster Pakete in Desktop an, wählen Sie tigervnc-server-<version_number> und klicken Sie dann auf Weiter:
Führen Sie die folgenden Schritte durch, um die Einrichtung Ihrer RHEL VMs fortzusetzen:
-
Ö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-->
-
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-->
-
Geben Sie den folgenden Befehl ein, um den Dienst
xinetd
zu starten:# service xinetd start <!--NeedCopy-->
-
Ö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-->
-
Geben Sie den folgenden Befehl ein, um
iptables
neu zu starten:# service iptables restart <!--NeedCopy-->
-
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:
Bevor Sie Ihre SUSE Linux Enterprise Server-VMs für VNC einrichten, stellen Sie sicher, dass Sie die XenServer VM Tools für Linux installiert haben. Weitere Informationen finden Sie unter Installieren der XenServer 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:
-
Öffnen Sie eine Textkonsole auf der VM und führen Sie das Dienstprogramm
YaST
aus:yast <!--NeedCopy-->
-
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.
-
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.
-
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.
-
Drücken Sie die Tabulatortaste, um zur Schaltfläche Fertig stellen zu gelangen und drücken Sie die Eingabetaste.
-
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.
-
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.
-
Öffnen Sie die Datei
/etc/xinetd.d/vnc
in Ihrem bevorzugten Texteditor. -
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-->
-
Bearbeiten Sie die
port
-Zeile zu readport = 5900 <!--NeedCopy-->
-
Speichern und schließen Sie die Datei.
-
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 5900
TCP-5901
, Display-1 ist usw. Konsultieren Sie Ihre Firewall-Dokumentation, um sicherzustellen, dass diese Ports geöffnet sind. Weitere Informationen finden Sie unter Von XenServer verwendete Kommunikationsports.
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:
-
Öffnen Sie eine Textkonsole auf der VM und führen Sie das Dienstprogramm
YaST
aus:yast <!--NeedCopy-->
-
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.
-
Wählen Sie im Firewall-Bildschirm mit den Pfeiltasten im linken Menü Benutzerdefinierte Regeln aus und drücken Sie dann die Eingabetaste.
-
Klicken Sie im Abschnitt Benutzerdefinierte zulässige Regeln mit derTabulatortaste auf die Schaltfläche Hinzufügen und drücken Sie dann die Eingabetaste.
-
Geben Sie im Feld Quellnetzwerk0/0ein. Gehen Sie mit der Tabulatortaste zum Feld Zielport und geben Sie 5900 ein.
-
Klicken Sie mit der Tabulatortaste auf die Schaltfläche Hinzufügen und drücken Sie dann die Eingabetaste.
-
Wechseln Sie mit der Tabulatortaste zur Schaltfläche Weiter und drücken
-
Gehen Sie im Bildschirm Zusammenfassung mit der Tabulatortaste zur Schaltfläche Fertig stellen und drücken Sie
-
Auf dem
YaST
-Bildschirm der obersten Ebene wechseln Sie mit der Tabulatortaste zur Schaltfläche Beenden und drücken Sie die Eingabetaste. -
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:
-
Öffnen Sie die Datei
/etc/xinetd.d/vnc
mit Ihrem bevorzugten Texteditor und suchen Sie den Abschnittservice_vnc1
(entsprichtdisplayID
1). -
Ändern Sie das Argument
geometry
in der Zeileserver-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. -
Speichern und schließen Sie die Datei.
-
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.
-
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.
-
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.