VNC Viewer Ubuntu
Introduction to VNC
VNC or Virtual Network Computing is a graphical desktop sharing system that applies the Remote Frame Buffer Protocol (or RFB) for remotely controlling other computers. It can transmit the mouse and keyboard input from one individual computer to another, delivering the updates to the graphical screen on a network.
Virtual Network Computing is platform-independent - there are servers and clients for Java and several GUI-based operating systems. More than one client may link to a VNC server at once. Famous uses for this technique include support for remote technical and accessing files on the work computer of one from the home computer of one, or vice versa.
- Originally, VNC was developed in Cambridge, United Kingdom at the Olivetti and Oracle Research Lab.
- The original source code of VNC and several latest derivatives are open-source upon the GNU General Public License.
- There are several VNC variants that provide their specific functionality. For example, a few are used for Microsoft Windows or providing file transfer, etc. Several are suitable (without their included features) with VNC in the sense that the viewer of a variant can link to another server. Other variants are based on the VNC code but are not suitable for standard VNC.
- RFB and VNC are RealVNC Ltd. registered trademarks in the United States and a few other countries.
History of VNC
The Olivetti and Oracle Research Lab in the United Kingdom at Cambridge integrated VNC when Olivetti and Oracle Corporation acquired the lab. AT&T owned the lab and close down the research efforts of the lab in 2002.
Developers who operated on VNC at the AT&T Research Lab contain:
- Andy Hopper
- James Weatherall
- Quentin Stafford-Fraser
- Andy Harter (the leader of the Project)
- Tristan Richardson (Project inventor)
Several development team members (including Hopper, Weatherall, Harter, and Richardson) formed RealVNC to proceed to work on commercial and open-source VNC software upon that name following the closure of the Olivetti and Oracle Research Lab in 2002.
The original source code of GPLed has fed into many other VNC versions. Such forking hasn't led to the problems of compatibility because the Remote Frame Buffer Protocol is established to be extensible. VNC servers and clients negotiate the capabilities with handshaking for using the most correct options supported at both ends.
RealVNC Ltd. claims the "VLC" term as a registered trademark as of 2013 in the United States and many other countries.
Operation of VNC
- The VLC client is a program that illustrates the screen data generated from the server, gets updates from it, and controls it presumably by alerting the server of local input.
- The VNC server is a program on a machine that distributes a few screens (and might not be corresponding to a physical display - the server could be headless) and permits the client for sharing control of it.
- The VNC protocol is very basic, based on sending a graphic primitive with a server to a client and event messages with a client to a server.
In the basic operation method, a viewer links to a port over the server. A browser can alternatively connect to a server and a server can link to a viewer in the "listening mode" on the 5500 port. One benefit of the listening mode is that the server site doesn't need to construct its firewall for allowing access to the 5900 port. The responsibility is on the viewer which is helpful when the server site has no expertise in computers and the viewer user is knowledgeable.
The server transfers small frame buffer rectangles to the client. The VNC protocol can apply a lot of bandwidth, so several methods have been devised for reducing the overhead of communication. For example, there are several encodings (methods for determining the most dynamic way to send these rectangles). The VNC protocol permits the server and client to communicate which encoding they will apply.
By default, VNC uses the 5900+N TCP port where N is a display number. Also, various implementations begin a common HTTP server over the 5800+N port for providing VNC viewer as the Java Applet, permitting easy connection from the Java-enabled web browser. Different assignments of the port could be used as long as both server and client are accordingly configured.
The client implementation of an HTML5 VNC for the latest browsers (no requirement for plugins) exists as well.
Security of VNC
- The RFB is by default not a secure protocol. Cracking can prove successful when both the encoded password and encryption key were sniffed through a network while passwords aren't sent in plain text. For this reason, it's suggested that a password of eight characters at least be used.
Also, there is an eight characters restriction on a few VNC versions; if any password is transferred exceeding eight characters, the extra characters are deleted and the truncated string will be compared to that password.
- Support of UltraVNC uses an open-source script encryption plugin that can encrypt the whole session of VNC including data transfer and password authentication. Also, it permits authentication to be implemented based on the Active Directory and NTLM user accounts.
Although, the use of these encryption plugins makes it unsuitable for other programs of VNC. RealVNC provides high-strength encryption of AES as a part of its economical package with Active Directory integration. Workspot published the patches of AES encryption for VNC. TightVNC isn't secure as much as picture data is sent without encryption according to TightVNC. It should be tunneled from an SSH connection for circumventing it.
- VNC might be tunneled on a VPN or SSH connection which would include an additional security layer along with stronger encryption. The clients of SSH are available for almost all platforms; SSH tunnels could be made from UNIX clients, Macintosh clients (including System 7, Mac OS X, and up), Microsoft Windows clients, and many others. Also, there is freeware software that makes instant VPN tunnels among computers.
- Extra security concern for VNC use is to inspect whether the version used needs authorization from the owner of the remote computer before anyone takes control of their system. It will ignore the situation in which the accessed computer's owner realizes that there's someone in control of their system without any notice.
Uses of VNC Systems
These kinds of systems have several different uses that can enable things relatively easier for individuals and businesses alike. For example, the VNC systems can aid with remote technical support. It means that if there is an issue on one computer, a user can connect to the network of that computer to troubleshoot any issue. It is a big use for businesses. Also, it is used by users who wish to aid relatives and friends with computer problems.
- Users can use VNC for remotely accessing files on several computers in a wide variety of circumstances.
- VNC can be used by users who require to access their work files from their office system.
- Also, it is great for users who forget to carry their presentation to work.
- These types of users can use VNC for connecting to their home computers to bring back the files.
- This kind of program is often used by help desks, IT support, and system administrators.
- It is used by several administrators to take control of the computer of an employee.
- The administrators may require to do it to help some employees with any kind of program.
- It can be used by teachers in the classroom as well.
- Teachers may take benefit from this program to permit students to check what is happening at the computer of the teachers.
- It can help teachers to teach their students more effectively and easily.
Benefits of using VNC
Save money: VNC can permit us for using a previous computer to execute the recent program. Sometimes, it permits businesses to buy fewer computers. Some businesses no longer require a similar type of processing capability or disk memory, for VNC enables things easier.
Potentially, we can store the lost data that was over the large client computer. It is due to each data that the virtual desktop has saved in the secondary data center. It permits us for accessing each of our data with no interruption to normal workflows.
Mature product: It is a mature product and has been in integration since the 1990s. It implements a very simple but robust protocol which is known as the Remote Frame Buffer Protocol.
Platform-independent: VNC is platform-independent due to the mechanism used for transporting keyboard presses back and forth and desktop images available in the OS. A specific OS server and client application require to exist, but there are VNC server and client applications for all operating systems virtually imaginable these days including smartphones.
Some important VNCs are listed and explained below:
What is RealVNC?
RealVNC is an enterprise that was integrated by the virtual network computing system's original creators. This enterprise provides several different releases of programs. Also, there is a free release available.
What is Ultra VNC?
This company provides highly advanced and free programs that are mostly utilized for mainstream enterprises. Ultra VNC has several features which are mentioned below:
- The ability for remotely controlling one program.
- Windows support
- Email access through remote locations
- The ability for handling videos
- Chat capabilities
- Compression enhancement
- File transfer functions
What is Tight VNC?
It is an easy-to-use and free program that contains several features of GPC licensing and complete source code available. Some important features of Tight VNC are as follows:
- Password support
- JPEG compression along with dynamic encoding capabilities
- Enhanced access to a web browser
- Scale remote desktops
- Capabilities of file transfer that's available for only Windows operating systems
- Tight VNC is available for UNIX and Windows. Also, it is compatible with other software of VNC.
.NET VNC Viewer
It is a fully free program and is mostly used by Smart Phones and PDAs. This program can execute on different types of modes. Also, it can run a full-screen mode, window mode, and even listen mode. .NET VNC viewer contains several features which are mentioned below:
- Session history
- Smart Phone support
- Pocket computer support
- Server and client-side scaling
Drawbacks of VNC
- Utilizes a lot of Bandwidth: VNC utilizes a lot of bandwidth for transferring desktop images to a client because of the common way in which it works. It may cause a problem in low bandwidth circumstances.
However, most of the clients of VNC permit users for specifying both the remote screen resolution (the size of the screen) and also the depth of the color to use. A grayscale screen or a low resolution can be fairly transferred quickly and work well on lower bandwidth connections.
- Raw encoding technique: The most basic VNC encoding form apply the raw encoding technique. If the server and client are so desperate that they don't share an advanced encoding method, the raw screen will be transferred through the server to a client in left-to-right order pixel-by-pixel.
Most of the latest implementations attempt for reducing this issue by only sending changed pixels. It works well enough for small movements such as mouse cursor changes. But, when the whole screen changes like when reading a web page or document it bogs down.
- Re-installation of applications: Another potential drawback of VNC is that it only offers the use of the remote desktop, only the applications present on that desktop could be used. If we wish to use any application that we have on our local computer over the remote computer, a single way for achieving that is to install that similar application over the remote computer. It might be a problem depending on our use-case to use VNC.
- Several challenges with a VNC program: Typically, they involve a range of potential performance issues and security issues. Whether or not the durabilities outweigh these challenges rely on our reasons to use such a program. Also, it depends on the type of software and security that is already on our computer's network.
- Performance: The program is only as quick as the slowest available connection of the Internet. If our internet connection is running slow, we might have an issue with executing the programs on our large client. Also, the performance issues will tend to boost as we use interactive applications and real-time programs.
- Complexity: It can cause some users for giving up on using a VNC system. If we are using multiple service providers, protocols, networks, or a group of network hardware equipment to create the VNC tunnel, we could have a typical time trying to enable the programs to work together. We might require hiring a professional for making things work. It is especially true when the programs were not made to work together.
Installing VNC Viewer in Ubuntu
Step 1: First of all, we need to execute the update command for updating package repositories and get the latest information on the package:
Step2: Then, we need to execute the install command for quickly installing the packages and their dependencies: