Accessing a remote desktop computer is made possible by the remote desktop protocol (RDP), a proprietary protocol developed by Microsoft. It gives a user a graphical interface to connect to another/remote computer over a network connection. FreeRDP is a free implementation of the RDP.
RDP works in a client/server model, where the remote computer must have RDP server software installed and running, and a user employs RDP client software to connect to it, to manage the remote desktop computer.
In this article, we will share a list software for accessing a remote Linux desktop: the list starts off with VNC applications.
Chrome Remote Desktop. Chrome Remote Desktop supports Windows and OS X (and Linux, sort of), and is completely free for personal and commercial use. It's essentially just a Chrome app that you have to install in Chrome on any computer you want to connect to.
VNC (Virtual Network Computing) is a server-client protocol which allows user accounts to remotely connect and control a distant system by using the resources provided by the Graphical User Interface (GUI).
Zoho Assist
Zoho Assist is a free, fast, cross-platform remote support software that allows you to access and support Linux desktops or servers without remote connection protocols like RDP, VNC, or SSH. Remote connections can be established from your favorite browser or a desktop plugin, regardless of the remote computer’s network.
With a whole host of features like remote file transfer, multi-monitor navigation, and clipboard sharing to aid MSPs, IT support technicians, and helpdesk technicians, debugging a Linux remote desktop is easy sailing with Zoho Assist.
Zoho Assist is extremely secure with two-factor authentication, action log viewer, and antivirus compatability. SSL and 256-bit AES encryption ensures all session-related information is passed through an encrypted tunnel.
A clutter-free user interface makes working easy for first-timers. You can customize email templates, and rebrand the Linux remote desktop application to use your company’s name, logo, favicon, and portal URL.
With Zoho Assist, you can configure all major variations of Linux computers and servers like Ubuntu, Redhat, Cent, Debian Linux Mint, and Fedora for unattended access, and seamlessly access them anytime.
1. TigerVNC
TigerVNC is a free, open source, high-performance, platform-neutral VNC implementation. It is a client/server application that allows users to launch and interact with graphical applications on remote machines.
Unlike other VNC servers such as VNC X or Vino that connect directly to the runtime desktop, tigervnc-vncserver uses a different mechanism that configures a standalone virtual desktop for each user.
It is capable of running 3D and video applications, and it attempts to maintain consistent user interface and re-use components, where possible, across the various platforms that it supports. In addition, it offers security through a number of extensions that implement advanced authentication methods and TLS encryption.
Learn How to Install and Configure VNC Server in CentOS 7
2. RealVNC
RealVNC offers cross-platform, simple and secure remote access software. It develops VNC screen sharing technologies with products such as VNC Connect and VNC Viewer. VNC connect gives you the ability to access remote computers, provide remote support, administer unattended systems, share access to centralized resources and much more.
You can get VNC connect for free for home use, which is limited to five remote computers and three users. However, for any professional and enterprise use, requires a subscription fee.
3. TeamViewer
Teamviewer is a popular, powerful, secure and cross-platform remote access and control software that can connect to multiple devices simultaneously. It is free for personal use and there is a premium version for businesses users.
It is an all-in-one application for remote support used for remote desktop sharing, online meetings and file transfer between devices connected over the Internet. It supports more than 30 languages around the world.
4. Remmina
Remmina is a free and open-source, fully featured and powerful remote desktop client for Linux and other Unix-like systems. It is written in GTK+3 and intended for system administrators and travelers, who need to remotely access and work with many computers.
It is efficient, reliable and supports multiple network protocols such as RDP, VNC, NX, XDMCP and SSH. It also offers an integrated and consistent look and feel.
Remmina allows users to maintain a list of connection profiles, organized by groups, supports quick connections by users directly putting in the server address and it provides a tabbed interface, optionally managed by groups plus many more features.
5. NoMachine
NoMachine is a free, cross platform and high quality remote desktop software. It offers you a secure personal server. Nomachine allows you to access all your files, watch videos, play audio, edit documents, play games and move them around.
It has an interface that lets you concentrate on your work and is designed to work in a fast manner as if you are seated right in front of your remote computer. In addition, it has remarkable network transparency.
6. Apache Guacamole
Apache Guacamole is a free and open source client-less remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH. It requires no plugins or client software; simply use an HTML5 web application such as a web browser.
This means that, use of your computers is not tied to any one device or location. Furthermore, if you want to employ it for business use, you can get dedicated commercial support via third-party companies.
7. XRDP
XRDP is a free and open source, simple remote desktop protocol server based on FreeRDP and rdesktop. It uses the remote desktop protocol to present a GUI to the user. It can be used to access Linux desktops in conjunction with x11vnc.
It greatly, integrates with LikwiseOPEN thus enabling you to login to a Ubuntu server via RDP using active directory username/password. Although, XRDP is good project, it needs a number of fixes such as taking over an existing desktop session, running on Red Hat-based Linux distributions and more. The developers also need to improve its documentation.
8. FreeNX
FreeNX is an open source, fast and versatile remote access system. It is a secure (SSH based) client /server system, and it’s core libraries are provided by NoMachine.
Unfortunately, at the time of this writing, the link to the FreeNX website did not work, but we have provided links to the distro-specific web pages:
- Debian: https://wiki.debian.org/freenx
- CentOS: https://wiki.centos.org/HowTos/FreeNX
- Ubuntu: https://help.ubuntu.com/community/FreeNX
- Arch Linux: https://wiki.archlinux.org/index.php/FreeNX
9. X2Go
X2Go is an open source cross platform remote desktop software similar to VNC or RDP, that offers remote access to a Linux system’s graphical user environment over the network using a protocol, which is tunneled through the Secure Shell protocol for better encryption of data.
10. Xpra
Xpra or X is an open source cross-platform remote display server and client software, which offers you to access remote applications and desktop screens over SSH sockets with or without SSL.
It enables you to execute applications on a remote host by displaying their screen on your local machine without losing any state after disconnect. It also supports forwarding of sound, clipboard and printing features.
That’s all! In this article, we reviewed eight best tools to access remote Linux desktops. Feel free to share your thoughts with us via the comment form below.
In April 2018, Thincast released the first public Beta of Thincast Workstation, a new workstation hypervisor based on Oracle’s VirtualBox.We use FreeRDP’s server implementation to replace VirtualBox’s VRDP extension which is only available with the Oracle VM VirtualBox Extension Pack.Together with our own powerful 3D graphics virtualization inside the guest we provide a smooth and rich user experience, no matter from where you are accessing your virtual machines.
But now let’s take a closer look at where and how FreeRDP comes into play in our product.
Our RDP server resides in a separate, platform independent library that we call “virtual server”. One of the tasks of this library is to serve as a bridge between VirtualBox’sremote desktop extension (VRDE) API and FreeRDP. It provides a full featured RDP server, including clipboard and sound redirection, user management as well as RemoteFX and H.264streaming. The great thing here is that thanks to FreeRDP, all the protocol related work has already been done for us. We don’t have to worry about connection management, packetparsing or data marshalling. Our library just hooks the various callbacks that the FreeRDP API provides (i.e. handling mouse/keyboard input) and passes them into VirtualBox’s VRDE.
On the other hand our virtual server library receives notifications from VirtualBox i.e. when the display buffer is updated. Using FreeRDP we can easily forward all theseupdates to one, or multiple RDP clients connected to our server. Because RDP is a standardized protocol, the users are able to use any RDP compatible client to connect to theirvirtual machines. On top of that, FreeRDP gives us access to the latest desktop streaming extensions of the RDP protocol like RemoteFX and H.264 remoting.
Thanks to WinPR it was an easy task for us to implement the virtual server library platform independent. Threading, synchronization or file access is all done using the Win32API. Platform specific code parts were reduced to just a handful of lines i.e. for user management. This allows us to have a single code base that we can reuse on multipleplatforms by just linking to WinPR on non-Windows systems.
With H.264 desktop streaming, introduced in RDP 10, we now also have new possibilities to transfer the desktop content to the user. We have developed a special load-balancingalgorithm that adjusts image quality during streaming, based on current network characteristics. FreeRDP’s network characteristics detection (which is part of the RDP corespecification) provides us with all the necessary information about the connection’s latency and bandwidth. Depending on these parameters we dynamically increase or decrease thequality level of the H.264 encoder. An implementation of the software H.264 encoder backend, using OpenH264, is also part of the FreeRDP library.
As explained earlier, Thincast Workstation provides virtual graphics hardware to the guest that exposes full Direct3D11 support. This means all graphical operations in the guestOS are handled and accelerated by the host GPU. As we want to achieve the best performance possible, it would be a pity to do the H.264 encoding of our virtual desktop insoftware. Luckily, thanks to FreeRDP’s modular architecture, we were able to plug-in our own hardware encoders and completely offload this work from the CPU. Because every vendorhas its own multimedia framework we implemented encoders for all major GPU producers including NVidia, AMD and Intel.
Screenshot: Remote session to a virtual machine running UL’s 3DMark benchmark.
Thincast Workstation comes with its own FreeRDP based client called Thincast Viewer. The Viewer is part of the Thincast Client package and offers some advantages over other RDPclients like Microsoft’s Windows client mstsc. The first advantage it offers is an improved performance mode for connections to local virtual machines. In this mode graphicalupdates are not streamed over RDP but directly fetched from the GPU. Thincast Viewer also provides various control options like starting, pausing or shutting down the virtualmachine. These features are implemented using a custom virtual channel that we added to our FreeRDP library. Remote connections to a virtual machine using H.264 desktop streamingwill be decoded on the client side using hardware support. All current GPUs offer hardware H.264 decoding support and especially mobile users will greatly benefit from thesignificantly lower CPU utilization. Again we simply replaced FreeRDP’s default software decoder with our own hardware implementation, without modifying anything in the libraryitself. And last but not least, Thincast Viewer is available on Windows, Linux and macOS.
What is coming to Thincast Workstation in the future? We are thinking about adding some kind of gateway service that serves as a central access point to all virtual machines.Currently each VM listens on its own port for incoming connections which makes management and administration a bit troublesome.
We also keep an eye out for further extensions or changes to the RDP protocol. For instance newer video codecs, i.e. H.265 or AOMedia Video 1 (a.k.a AV1), might become interesting fordesktop streaming in the future.
Apart from these RDP-related improvements we also want to improve the remaining parts of Thincast Workstation. Our current Beta for instance already contains virtual graphicshardware that offers support for Direct3D 12. The implementation is already close to completion but still has some known issues. We have also added Vulkan to our to-do list butwork on this topic is just in its beginnings.
If you want to know more about our products, give them a try or you can just keep in touch by signing up for our newsletter on our website!