Aktivieren von VNC für Linux-VMs
VMs sind möglicherweise nicht so eingerichtet, dass Virtual Network Computing (VNC) unterstützt wird, mit dem VMs standardmäßig remote gesteuert werden. Bevor Sie eine Verbindung 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-Betriebssystem-Distributionen konfigurieren, um ordnungsgemäße Interaktionen mit 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 Squeeze VMs
Hinweis:
Bevor Sie eine grafische Konsole auf Ihrer Debian Squeeze-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 Squeeze 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.
-
Installieren Sie Ihren Squeeze-Gast mit den Desktop-Systempaketen oder installieren Sie GDM (den Display-Manager) mit apt (gemäß den Standardprozeduren).
-
Installieren Sie den Xvnc Server mit
apt-get(oder ähnlichen):apt-get install vnc4serverHinweis:
Die Debian Squeeze Graphical Desktop Environment, die den Gnome Display Manager Version 3 Daemon verwendet, kann erhebliche CPU-Zeit in Anspruch nehmen. wird dringend empfohlen, dass Kunden das Gnome Display Manager-
gdm3Paket deinstallieren und dasgdmPaket wie folgt installieren:apt-get install gdm apt-get löschen gdm3 -
Richten Sie mithilfe des
vncpasswdBefehls ein VNC-Kennwort ein (kein einziges ist ein schwerwiegendes Sicherheitsrisiko) ein. Übergeben Sie einen Dateinamen, in den die Kennwortinformationen geschrieben werden sollen. Zum Beispiel:vncpasswd /etc/vncpass -
Ändern Sie Ihregdm.confDatei (/etc/gdm/gdm.conf), um einen VNC-Server für die Verwaltung der Anzeige zu konfigurieren,0indem Sie die[servers]Option [daemon]Abschnitte wie folgt:[Server] 0=VNC [Daemon] vtAllocation = false [Server-VNC] name = VNC command = / usr/bin/xvnc -geometry 800x600 -passwordfile /etc/vncpass BlacklistTimeout = 0 flexibel = true -
Starten Sie GDM neu, und warten Sie, bis die grafische Konsole erkannt wird:
/etc/init.d/gdm neu starten
Hinweis:
Sie können überprüfen, ob der VNC-Server läuft, indem Sie einen Befehl wie verwenden
ps ax | grep vnc.
Aktivieren einer grafischen Konsole auf Red Hat, CentOS oder Oracle Linux VMs
Hinweis:
Konfigurieren von VNC für Red Hat VMs 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 Prozeduren in diesem Abschnitt geändert.
Hinweis:
Informationen zum Aktivieren von VNC für RHEL, CentOS oder OEL 6.x VMs finden Sie unter Aktivieren 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
-
Führen Sie als Root auf der Text-CLI in der VM den Befehl aus
rpm -q vnc-server gdm. Die Paketnamenvnc-serverundgdmwerden 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.
-
Ö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 Keine -geometry 1024x768 -depth 16 \ -BlackListTimeout 0 flexibel = trueMit Konfigurationsdateien unter Red Hat Linux 5.x fügen Sie diese Zeilen in den leeren
[servers]Abschnitt hinzu. -
Ändern Sie die Konfiguration so, dass der
XvncServer 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.
-
-
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 Überprüfen von Runlevels.
Firewall-Einstellungen
Die Firewall-Konfiguration lässt den VNC-Datenverkehr standardmäßig nicht zu. Wenn Sie eine Firewall zwischen der VM und haben , erlauben Sie Datenverkehr über den Port, den die VNC-Verbindung verwendet. 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:
-
Verwenden Sie für Red Hat Linux 5.x
system-config-securitylevel-tui. -
Wählen Sie Anpassen und fügen
5900Sie 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:
-
Öffnen Sie die GDM-Konfigurationsdatei mit Ihrem bevorzugten Texteditor. Weitere Informationen finden Sie unter Bestimmen des Speicherorts der VNC-Konfigurationsdatei.
-
Suchen Sie den
[server-VNC]Abschnitt, den Sie oben hinzugefügt haben. -
Bearbeiten Sie die zu lesende Befehlszeile, zum Beispiel:
command = / usr/bin/XVNC -SecurityTypes Keine -Geometrie 800x600Der Wert des
geometryParameters kann eine beliebige gültige Bildschirmbreite und -höhe sein. -
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 :

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

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

Diese Aktion zeigt das Fenster Pakete im 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 6.x-VMs fortzusetzen:
-
Öffnen Sie die GDM-Konfigurationsdatei mit Ihrem bevorzugten Texteditor und fügen Sie den entsprechenden Abschnitten folgende Zeilen hinzu:
[Sicherheit] DisallowTCP = false [xdmcp] Aktivieren = true -
Erstellen Sie die Datei,
/etc/xinetd.d/vnc-server-stream:Dienst vnc-Server { id = vnc-server deaktivieren = nein type = UNListed Anschluss = 5900 socket_type = stream wait = nein user = nobody Gruppe = tty server = /usr/bin/xVNC server_args = -inetd -once -query localhost -securityTypes Keine \ -Geometrie 800x600 -Tiefe 16 } -
Geben Sie den folgenden Befehl ein, um den
xinetdDienst zu starten:# Service xinetd starten -
Ö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 Zustand — Zustand NEU -m tcp -p tcp — dport 5900 -j ACCEPT -
Geben Sie den folgenden Befehl ein, um neu zu starten
iptables:# Dienst iptables Neustart -
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 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 Überprüfen von Runlevels.
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 finden Sie unter Installieren des Linux Guest Agents.
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 Methode, die von bereitgestellt wird . 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:
-
Öffnen Sie eine Textkonsole auf der VM und führen Sie das
YaSTDienstprogramm aus:Yast -
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.
-
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.
-
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.
-
Klicken Sie auf die Schaltfläche Fertig stellen und drücken Sie die Eingabetaste .
-
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.
-
Das ursprüngliche Menü der obersten Ebene von
YaSTwird angezeigt. Tab zur Be enden-Schaltfläche und drücken Sie die Eingabetaste .
Ändern der xinetd-Konfiguration
Nachdem Sie die Remoteverwaltung aktiviert haben, ändern Sie eine Konfigurationsdatei, wenn Sie die Verbindung zulassen möchten. Alternativ können Sie einen VNC-Client eines Drittanbieters verwenden.
-
Öffnen Sie die Datei
/etc/xinetd.d/vncin Ihrem bevorzugten Texteditor. -
Die Datei enthält Abschnitte wie die folgenden:
Dienst vnc1 { socket_type = stream Protokoll = tcp wait = nein user = nobody server = /usr/x11r6/bin/xvnc server_args =: 42 -inetd -once -query localhost -geometry 1024x768 -depth 16 type = UNListed Port = 5901 } -
Bearbeiten Sie die zu lesende
portZeileAnschluss = 5900 -
Speichern und schließen Sie die Datei.
-
Starten Sie den Anzeige-Manager und den
xinetdDienst mit den folgenden Befehlen neu:/etc/init.d/xinetd Neustart rcxdm Neustart
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 Überprüfen von Runlevels.
Firewall-Einstellungen
Standardmäßig lässt die Firewall-Konfiguration den VNC-Datenverkehr nicht zu. Wenn Sie eine Firewall zwischen der VM und haben , erlauben Sie Datenverkehr über den Port, den die VNC-Verbindung verwendet. 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:
-
Öffnen Sie eine Textkonsole auf der VM und führen Sie das
YaSTDienstprogramm aus:Yast -
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.
-
Wählen Sie im Bildschirm Firewall mit den Pfeiltasten Benutzerdefinierte Regeln im linken Menü aus, und drücken Sie dann die EIN GABETASTE .
-
Tab zur Schaltfläche Hinzufügen im Abschnitt Benutzerdefinierte erlaubte Regeln , und drücken Sie dann die EINGABETASTE .
-
Geben Sie im Feld Quellnetzwerk den Wert 0/0 ein. Klicken Sie auf das Feld Zielport , und geben Sie 5900 ein.
-
Tab zur Schaltfläche Hinzufügen und drücken Sie dann die EIN GABETASTE .
-
Tab zur Schaltfläche Weiter und drücken Sie die Eingabetaste .
-
Klicken Sie im Übersichts bildschirm Tab auf die Schaltfläche Fertig stellen und drücken Sie die Eingabetaste .
-
Klicken Sie auf dem obersten
YaSTBildschirm Tab auf die Schaltfläche Beenden und drücken Sie die Eingabetaste . -
Starten Sie den Anzeige-Manager und den
xinetdDienst mit den folgenden Befehlen neu:/etc/init.d/xinetd Neustart rcxdm Neustart
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:
-
Öffnen Sie die
/etc/xinetd.d/vncDatei mit Ihrem bevorzugten Texteditor und suchen Sie denservice_vnc1Abschnitt (entsprechenddisplayID1). -
Bearbeiten Sie das
geometryArgument in derserver-argsZeile auf die gewünschte Bildschirmauflösung. Zum Beispiel:server_args =: 42 -inetd -once -query localhost -geometry 800x600 -depth 16Der Wert des
geometryParameters 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 Neustart rcxdm Neustart
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.
-
Überprüfen
/etc/inittabSie, 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.
-
Sie können den Befehl
telinit q ; telinit 5nach dieser Änderung ausführen, um einen Neustart zu vermeiden, um Runlevels zu wechseln.