Inovato Quadra Review, Part 5: Remote Access (or Not!)
Over the span of four previous articles, I've taken a close look at the Inovato Quadra, a low-cost ($29) alternative to the Raspberry Pi (RPi). In this article, I will test a use case for the Quadra that is not among those listed on Inovato's web site -- accessing remote virtual and physical desktops. To attempt this, I will see if I can install an RDP and Horizon client on it.
RDP is perhaps the most common method to connect to a remote Windows computer. There are clients for all of the major OSes, and all modern Windows systems come with an RDP one.
Linux has many different RDP clients, but I will be installing one that I have used and found very flexible in the past, Remmina, a very powerful tool that allows you to connect to other remote systems over various protocols such as SSH, VNC, FTP and, of course, RDP. I installed it by entering apt install remmina.
By default, Remmina only comes with SSH for connections and requires plugins for other remote protocols. I installed the RDP plug-in by entering apt install remmina-plugin-rdp. After doing this, I was able to connect to a Windows 10 system using RDP flawlessly from the Quadra.
Sharing Your Desktop
Once I found that I could access Windows systems from the Quadra, I wanted to see if I could allow remote access to my system. There are various methods and tools available to access Linux desktops remotely. Being that Linux was designed from the ground up to be a multi-user OS, you can access a new desktop or share an existing one on a system that a user has already logged in to. The most popular way to do this is by using VNC. There are many different VNC clients and servers, each with its own benefits and drawbacks.
To minimize issues, I will share my desktop -- as opposed to having a new desktop created remotely -- by using a VNC package called Vino. Instead of creating a new desktop session, Vino mirrors what is being displayed on the main session. To install Vino, I entered apt install vino.
Vino comes with a tool called gsettings to adjust its settings. To make things as straightforward as possible, I disabled all user confirmation, encryption and password requirements. I then started the server by entering:
gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino require-encryption false
gsettings set org.gnome.Vino authentication-methods "['none']"
From my laptop, I launched VNC Viewer for Google Chrome.
I entered the Quadra device's IP address and was notified that I was going to have an unencrypted session.
After I selected Connect, it displayed the Quadra desktop that I was logged onto.
While the interactivity on the VNC screen was not as snappy as on the physical system, it was still usable.
I monitored the system while I was connected to it. During this time, I saw its CPU usage go up to 100 percent, with Firefox processes taking 33 percent, web content taking 27 percent and Vino taking 14 percent of the CPU cycles, respectively.
After a few minutes, the system overheated and shut down.
I proceeded to reset the device, restart the Vino server and connect to the system. I then monitored the system while working on a LibreOffice Writer document over the VNC connection. The CPU usage stayed below 6 percent, and the temperature stayed below 161 degrees. Upon reviewing the running processes, I saw that Vino was using 1 percent of the CPU cycles.
Attempting to Install the Horizon Client
VMware does have a Horizon client for ARM processors, which appears to have once been supported on generic ARM devices, but VMware now only supports it on ThinLinx Operating System (TLXOS) or Stratodesk NoTouch Operating System ARM systems. That said, other VMware products have been known to run on unsupported hardware, so I decided to attempt installing it on this device.
To download the Horizon client, I launched Firefox and navigated to: http://www.vmware.com/go/viewclients. Then, under VMware Horizon Client for Linux, I clicked VMware Horizon Client for 64-bit Linux.
I selected 2206.1 from the Version drop-down menu and downloaded it. Then, I opened a terminal and installed the Horizon client by entering:
cd ~/Downloads ## Change to the current user's Download directory
chmod 755 VMware-Horizon-Client* ## Make the file executable
./ VMware-Horizon-Client-2106.1-8.3.1-18435609.x64.bundle --console
The --console switch allowed me to install from the command line rather than within the GUI interface.
When I entered /usr/bin/vmware-view, I got a message that some libraries were missing, including libcairo-gobject and libgtmkmm.
I tried various methods to get the Horizon client to install and run, but I gave up after a couple hours.
I was able to use the Quadra to connect to a Windows system using RDP and was also able to connect to it using Vino and VNC. While I did encounter some heat issues when running Vino with Firefox also running on the device, I didn't experience this issue when editing documents and found the Vino-server process CPU usage to be negligible.
In this series of articles, I've used the Inovato Quadra for its intended purposes and then attempted to push the device beyond those limits. I didn't have any issues when using the device for what it was designed for, but sometimes when I pushed the device beyond that level it did occasionally overheat. However, the folks at Inovato stated that they were working on a fan for the device, which may help alleviate some of these heat issues.
For under $30, the Quadra is all-in-all quite a capable little device and I would highly recommend it to anyone looking for a low-cost, yet fairly powerful computer to experiment with or to use as a lightweight home system. If you are looking to use it as a production edge computing device, I would suggest making sure that your applications will not over-stress the CPU or overheat it.
Tom Fenton has a wealth of hands-on IT experience gained over the past 25 years in a variety of technologies, with the past 15 years focusing on virtualization and storage. He currently works as a Technical Marketing Manager for ControlUp. He previously worked at VMware as a Senior Course Developer, Solutions Engineer, and in the Competitive Marketing group. He has also worked as a Senior Validation Engineer with The Taneja Group, where he headed the Validation Service Lab and was instrumental in starting up its vSphere Virtual Volumes practice. He's on Twitter @vDoppler.