VNC

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

VNC stands for Virtual Network Computing.

VNC is a free software program based on a client-server structure that allows you to observe the actions of the server computer remotely through a client computer. VNC does not impose restrictions on the operating system of the server computer with respect to that of the client: it is possible to share the screen of a machine with any operating system that supports VNC by connecting from another computer or device that has a ported VNC client.

The original version of VNC was developed in the United Kingdom, specifically at the AT&T Olivetti Research Laboratory in Cambridge. The program was open source, so anyone could modify it, and today there are several programs for the same use. Many modern derivatives of it are free software licensed under the GPL.

In teaching, VNC is used for the teacher to share their screen with the students, for example in a laboratory. It can also be used for a technician to help an inexperienced user, the technician remotely viewing the problem the user reports.

The server program usually has the option of acting as an HTTP server to display the shared screen in a browser with java. In this case the remote user (client) does not have to install a VNC client program but it is downloaded by the browser automatically.

VNC is platform independent, a VNC client from one operating system can connect to a VNC server from the same operating system or any other. There are clients and servers for both many GUI-based operating systems and java. Multiple clients can connect to a VNC server at the same time. Popular uses of this technology include remote technical support and access to files on the work computer from the home computer or vice versa.

There are a number of variants of VNC, which offer, apart from the typical VNC functions, particular functions; for example, some are optimized for Microsoft Windows; others have file transfer, (which is not properly part of VNC), etc. Many are compatible (without additional functionality) with VNC itself in the sense that a user of one VNC variant can connect to a server of another, while others are based on the VNC source code, but are not compatible with VNC. VNC standard.

The term "VNC" and the RFB are registered trademarks of RealVNC Ltd. in the US and other countries.

VNC under Linux, in KDE.

History

VNC was created at the Olivetti & Oracle Research Lab (ORL), then owned by Olivetti and Oracle Corporation. In 1999 AT&T bought the lab, and in 2002 it closed the research lab's efforts.

Developers who worked on VNC when it was still at the AT&T Research Lab are:

  • Tristan Richardson (inventor)
  • Andy Harter (director of the project)
  • Quentin Stafford-Fraser
  • James Weatherall
  • Andy Hopper

After the closure of ORL in 2002, several members of the development team (including Richardson, Harter, Weatherall, and Hopper) created RealVNC in order to continue working on free software and commercial VNC software under that name.

Several other versions of VNC have been developed from the original GPL source code. Such a fork has not given rise to compatibility issues as the RFB protocol is designed to be extensible. VNC clients and servers negotiate their capabilities, by handshaking, to use the most appropriate options supported on both ends.

Etymology

The "Virtual Network Computer/Computing" it originated at the Olivetti Research Laboratory (ORL), on a thin client called Videotile that also used the RFB protocol being developed there. It was essentially an LCD screen with a pen input and a fast ATM connection to the network. At that time, a network computer was commonly used as a synonym for 'thin client'. VNC is essentially a software-only (ie virtual) version of this computer network.

Operation

A VNC system is made up of a client, a server, and a communication protocol.

  • The VNC server is the program on the computer that shares your screen. The server passively allows the customer to take control of it.
  • The VNC client (or viewer) is the program that monitors, controls and interacts with the server. The client controls the server.
  • The VNC protocol (RFB) is very simple, based on a client server graphical primitive (("Put a rectangle of pixel data at the specified X,Y position", in Spanish "Put a pixel data rectangle in the specified X,Y position) and event messages from client to server.

In the normal method of operation, a viewer connects to a port on the server (default port 5900). Alternatively, a browser can connect to the server (depending on the implementation) (default port 5800). And a server can connect to a viewer in "listening mode" on port 5500. One of the advantages of listening mode is that the server site does not have to configure its firewall to allow access on port 5900 (or 5800), the onus is on the viewer, which is useful if the server site is not computer savvy, while the user viewer is expected to be more savvy.

The server sends small rectangles from the framebuffer to the client. In its simplest form, the VNC protocol can use a large amount of bandwidth, so various methods have been devised to reduce communication overhead. For example, there are several encodings (methods for determining the most efficient way to transfer these rectangles). The VNC protocol allows the client and the server to negotiate the encoding to be used. The simplest form of encoding, which is supported by all clients and servers, is raw encoding, where data is sent in pixels in scanline order from left to right, and after After the original full screen has been transmitted, only the rectangles that change are transferred. This encoding works great if only a small portion of the screen changes from frame to frame (such as a mouse pointer moving on a desktop, or text being typed at the cursor), but bandwidth demands grow. radically if a large number of pixels change at the same time, such as when scrolling a window or viewing a video full screen.

VNC by default uses TCP port 5900+N, where N is the number of the screen (usually: 0 for a physical screen). Several implementations also start a basic HTTP server on port 5800+N to provide a VNC viewer as a Java applet, allowing easy connection via any Java-enabled web browser. Different port assignments can be used as long as the client and server are configured to do so.

Using VNC over the Internet works well if the user has a broadband connection on both ends. However, it may require advanced NAT, firewalls as well as router configuration such as port forwarding for incoming and outgoing connection to pass through. Some users may choose to instantly use private network applications such as Virtual Private Network (VPN) programs such as Hamachi to make using the Internet much easier. On the other hand, a VNC connection can be established as a LAN connection if VPN is used as a proxy.

Note that the machine running the VNC server does not need to have a physical screen. It Xvnc is the Unix VNC server, which is based on the standard X server. For Xvnc applications it is an X "server" (ie it shows client windows), and for remote VNC users it is a VNC server. Applications can be displayed in Xvnc as if they were a normal X screen, but they will appear on any viewers VNC connection rather than on a physical screen Also a machine (which can be a workstation or network server) with screen, keyboard and mouse can be configured to start and run the VNC server as a service or daemon, and then the screen, keyboard and mouse can be removed and the machine stored in an out-of-form location (out-of -the way).

In addition, the screen that VNC displays is not necessarily the same screen that a user sees on the server. On Unix/Linux computers that support multiple concurrent X11 sessions, VNC can be configured to serve a particular existing X11 session, or to start its own. It is also possible to run multiple VNC sessions from the same computer. On Microsoft Windows the VNC session served (provided) is always the session of the current user.

VNC is commonly used as a remote cross-platform desktop system. For example, Mac OS X Apple Remote Desktop (and more recently "Back to My Mac" in 'Leopard' - Mac OS X 10.5) interacts with VNC and will connect to the desktop Linux user's current file, if served with x11vnc, or to a separate X11 session if served with TightVNC. From Linux, TightVNC connects to a Mac OS X session served by Apple Remote Desktop, if VNC is enabled, or to a VNC server running on Microsoft Windows.

Use

First we need to share a graphical screen, which can be the one in use now or a virtual screen. In Windows only the current screen can be shared, a virtual screen cannot be created. The graphical X system used by Gnu/Linux and Unix does allow one or more virtual screens to be created.

The first step is to create and share a virtual screen:

vncserver

The program runs and displays the name of the machine and the number of the shared screen as machine-name:screen-number. For example if you report: alps.domain.org:2, the machine is alps.domain.org and the screen number is 2.

To share the current screen on Gnu/Linux or Unix:

x0rfbserver

Note: x0rfbserver is not currently in development (the project has been abandoned) use instead:

x11vnc

Or also, in the KDE environment there is this option:

krfb

Both server programs display a graphical window that should remain running while screen sharing.

In the second step, the remote user runs a VNC client:

vncviewer name-machine:number-screen

Based on the example above, it would be:

vncviewer alps.dominio.org:2

In a virtual screen and teaching environment, the instructor will also need to run a VNC client in order to see the same screen as the students. If you want students to see but not control the virtual screen, they should use:

vncviewer -viewonly. name-machine:number-screen

Availability

  • GNU/Linux: Customer and server programs are usually available as RPM or Debian packages. In Debian and derivatives like Ubuntu the command
apt-cache search vnc

and in Red Hat and derivatives such as Fedora the command

yum search vnc

Note: DNF (Dandified yum) is the successor to yum. It was introduced in Fedora 18 and is the default package manager since Fedora 22 (as well as RHEL8 and CentOS8), so for users of these versions and later the command is recommended

dnf search vnc

will display a list of available VNC-related packages, such as servers: vncserver, tightvncserver, rfb, krfb; and clients: vncviewer, krdc.

The vncviewer client is usually installed by default on desktop-oriented distributions. If the server program or some other variant of VNC is desired, they can be installed either from the CDs or by downloading from a distribution's package repository.

  • Windows: You can download the client or server from the links available below on External links.

Security

By default, VNC is not a secure protocol. Passwords are not sent in plain text (as in telnet), but an attempt to break or crack (crack) the password can be successful if both the encryption key and the encrypted password are captured from a network. For this reason it is recommended to use a password of at least 8 characters. On the other hand, there is also an 8-character limit in some versions of VNC; if a password longer than 8 characters is sent, the extra characters are removed and the truncated string is compared with the password.

However, VNC can be tunneled through an SSH or VPN connection which adds an extra layer of security with stronger encryption. SSH Clients are available for all major platforms (and many smaller platforms too); SSH tunnels can be created from UNIX clients, Microsoft Windows, Macintosh (including Mac OS X and System 7 onwards) - and many others. There are freeware applications that instantly create VPN tunnels between computers.

UltraVNC supports the use of an open source plugin that encrypts the entire VNC session including password authentication and data transfer. It also allows authentication to be performed based on NTLM and Active Directory user accounts. However, the use of such encryption plugins make it incompatible with other VNC programs. RealVNC offers a high level of encryption as part of its commercial package. Workspot has released patches for AES encryption VNC.

Limitations

Unicode is not supported by VNC versions 3.x and below so it is impossible to transfer clipboard text outside of the Latin-1 character set.

The VNC protocol is based on pixels. Although this leads to great flexibility (ie any type of desktop can be displayed), it is often less efficient than solutions that have a better understanding of graphical background layout such as X11 or Windows Remote Desktop Protocol. These protocols send graphics primitives or high-level commands in a simpler form (for example, "open window"), while RFB only sends the pixel data in raw (raw pixel data).

Contenido relacionado

Series circuit

A series circuit is a connection configuration in which the terminals of the devices are connected successively, that is, the output terminal of one device is...

Extraction of information

Information Extraction is a type of information retrieval whose objective is to automatically extract structured or semi-structured information from...

Firewall

The word firewall or firewall can refer...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save