Nein, normalerweise muss X auf dem Server installiert sein, auf den Sie mithilfe von VNC remoten, da es lediglich einen X-Desktop von diesem Server anzeigt.
Beim Computing ist Virtual Network Computing (VNC) ein grafisches Desktop-Sharing-System, das das Remote Frame Buffer-Protokoll (RFB) verwendet, um einen anderen Computer fernzusteuern. Es überträgt die Tastatur- und Mausereignisse von einem Computer zum anderen und leitet die grafischen Bildschirmaktualisierungen über ein Netzwerk in die andere Richtung zurück.
Dieser Teil könnte die Leute verwirren:
Beachten Sie, dass der Computer, auf dem der VNC-Server ausgeführt wird, kein physisches Display haben muss. Im normalen Betriebsmodus verbindet sich ein Betrachter mit einem Port auf dem Server (Standardport 5900).
Wenn sie "Display" erwähnen, sprechen sie von einem physischen Monitor. Der entfernte Server erfordert weiterhin, dass X installiert und konfiguriert ist, damit GUI-Desktops ausgeführt werden können.
Was ist mit Xvnc, X11vnc und vncserver?
XvncXvnc ist ein X11-Server, den Sie eigenständig ausführen können, für dessen Betrieb jedoch immer noch ein Desktop erforderlich ist. Andernfalls wird beim Start nur ein schwarzes Fenster angezeigt. Xvnc erfordert also technisch gesehen keine Installation von X, da es seinen eigenen X-Server enthält.
Xvnc ist also wirklich zwei Server in einem. Für die Anwendungen ist es ein X-Server und für die Remote-VNC-Benutzer ist es ein VNC-Server. Per Konvention haben wir vereinbart, dass die Anzeigenummer des VNC-Servers mit der Anzeigenummer des X-Servers identisch ist, was bedeutet, dass Sie z. snoopy:2, um sich sowohl in der X-Welt als auch in der VNC-Welt auf die Anzeige 2 auf der Maschine 'snoopy' zu beziehen.
Normalerweise starten Sie Xvnc mit dem vncserver-Skript, das den Prozess vereinfachen soll und in Perl geschrieben ist. Wahrscheinlich möchten Sie dies an Ihre Vorlieben und örtlichen Gegebenheiten anpassen. Wir empfehlen die Verwendung von vncserver, anstatt Xvnc direkt auszuführen, aber Xvnc hat im Wesentlichen die gleichen Optionen wie ein Standard-X-Server, mit einigen Erweiterungen. Wenn Sie Xvnc -h ausführen, wird eine Liste angezeigt.
$ export DISPLAY=localhost:1.0
$ /usr/bin/Xvnc :1 -ac -auth "/root/.Xauthority" \
-geometry "1200x700" -depth 8 -rfbwait 120000 \
-rfbauth /root/.vnc/passwd 2> /root/.vnc/ServerDaemon.log &
$ /bin/sleep 10
$ /usr/bin/fvwm 2> /root/.vnc/fvwm.log &
x11vnc Wo Xvnc seinen eigenen X-Server enthält, ist dies bei x11vnc nicht der Fall. Es ist ein VNC-Server, der sich in einen bereits laufenden X-Server, Xvnc oder Xvfb integrieren lässt. Es hat die einzigartige Eigenschaft, sich mit Dingen verbinden zu können, die einen Framebuffer haben.
Auszugx11vnc behält eine Kopie des Framebuffers des X-Servers im RAM. Die X11-Programmierschnittstelle XShmGetImage wird verwendet, um die Bildpuffer-Pixeldaten abzurufen. x11vnc vergleicht den Framebuffer des X-Servers mit seiner Kopie, um zu sehen, welche Pixelbereiche sich geändert haben (und daher an die VNC-Viewer gesendet werden müssen).
AuszugEs ermöglicht den Fernzugriff von einem entfernten Client auf einen Computer, auf dem eine X Window-Sitzung und die x11vnc-Software gehostet werden, und fragt kontinuierlich den Frame-Puffer des X-Servers nach Änderungen ab. Dadurch kann der Benutzer seinen X11-Desktop (KDE, GNOME, XFCE usw.) von einem entfernten Computer entweder im eigenen Netzwerk des Benutzers oder über das Internet steuern, als ob der Benutzer davor sitzen würde. x11vnc kann auch Nicht-X11-Framebuffer-Geräte wie Webcams oder TV-Tunerkarten, iPAQ, Neuros OSD, die Linux-Konsole und die Mac OS X-Grafikanzeige abfragen.
x11vnc erstellt kein zusätzliches Display (oder X-Desktop) für die Fernsteuerung. Stattdessen verwendet es die vorhandene X11-Anzeige, die auf dem Monitor eines Unix-ähnlichen Computers in Echtzeit angezeigt wird, im Gegensatz zu anderen Linux-Alternativen wie TightVNC Server. Es ist jedoch möglich, Xvnc oder Xvfb zu verwenden, um ein „virtuelles“ zusätzliches Display zu erstellen und x11vnc damit zu verbinden, wodurch X-11 Zugriff auf Headless-Server ermöglicht wird.
vncserver
vncserver
ist nur ein Frontend-Perl-Skript, das dabei hilft, die Komplexität der Einrichtung von VNC + X auf entfernten Servern zu verringern, zu denen Sie VNC verwenden werden, um eine Verbindung herzustellen.
vncserver wird verwendet, um einen VNC-Desktop (Virtual Network Computing) zu starten. vncserver ist ein Perl-Skript, das das Starten eines Xvnc-Servers vereinfacht. Es führt Xvnc mit entsprechenden Optionen aus und startet einen Fenstermanager auf dem VNC-Desktop.
Referenzen
- Virtual Network Computing - Wikipedia