I’ve used a lot of providers that make bold promises of simplifying Linux in the cloud. In many cases, those instances do succeed, especially if the Linux distribution in question is of the non-GUI server type. However, the second you want a desktop added, things veer toward the expensive, the slow or the impossible.
That’s why when Shells reached out to me, I was skeptical—I’d see this sort of offering before. In fact, many companies have attempted to deliver a hosted Linux desktop experience and have failed dramatically. When I logged in to my test instance of Shells, some of that doubt washed away.
First, a little about Shells.
SEE: Linux file and directory management commands (TechRepublic Premium)
What is Shells?
The idea behind Shells is to offer cloud-based personal computers, cheaply and effectively. Starting at $4.95/month, users can work with a cloud-based computer. This offering is great for schools, businesses, programmers and creators of all kinds. This Desktop as a Service (DaaS) is truly as simple as it gets. Not only is it incredibly easy to spin up a new computer, but they also work and perform quite well.
At the moment, users can select from the following operating systems:
- Desktops: Ubuntu 20.04, KDE Neon 20.04 (beta), Kubuntu (beta), Manjaro KDE 21.0, Manjaro GNOME 21.0, Manjaro XFCE 21.0, Debian Buster GNOME, Linux Mint, Windows 10 Pro (beta – non activated)
- Servers: Debian Buster, Ubuntu Server 20.04
- Mobile: Android
If you’re a Linux fan, you have choices. If you’re a Windows user, you’re limited to the desktop, and mobile users can only choose Android. Even still, that’s plenty of desktops to choose from.
How do you use Shells?
Using Shells is easy. You first must sign up for an account, of which there are three:
- Shells Lite ($4.95/month): 1 CPU; 40 GB of storage; 2 GB of memory; 10 hours usage per month
- Shells Basic ($9.95/month): 1 CPU; 40 GB of storage; 2 GB of memory; unlimited usage
- Shells Pro ($36.95/month): 4 CPUs; 160 GB of storage; 8 GB of memory; unlimited usage
Your best bet is to sign up for a Shells Lite account and see if this service is right for you. You can cancel an account within seven days and get 100% of your money back—what’s there to lose?
Once you have an account, log in and create a new shell. You’ll select your operating system (Figure A).
In less than 30 seconds, your shell is ready to start. Click the Shell icon in the listing to launch the operating system of your choice. At this point, you shouldn’t expect the OS in question to boot up quite as quickly as it would on bare metal, but it’s not nearly as slow as you might expect. Once the desktop is loaded, it performs surprisingly well (Figure B).
Yes, there is a lag. Don’t expect your Shell-based operating system to perform as well as it would if it were hosting on a local machine. After all, this is being delivered over the cloud—this is mostly about GUIs. Opening a terminal window and running the below command went off as quickly as any I’d ever experienced:
sudo apt-get update && sudo apt-get upgrade -y
Possible security issue
The only issue that had me raising my eyebrows with Shells is that there was no password for users. When the Ubuntu Desktop 20.04 instance booted up, I was immediately logged in to the desktop, without having entered a password. Could that be a security risk? More importantly, is it possible to mitigate this, by creating a password for the user?
Let’s give that very thing a try.
Back to the terminal I went and issued the command:
After typing and verifying a password, I logged out of the desktop to see what would happen. No go.
Even though I know I typed the correct password I’d only just created, my Ubuntu Desktop wouldn’t log me in. I had to go back to the start, erase the shell and try again. This time around I tried Manjaro Xfce.
Even after changing my user password in the new Shell, it didn’t seem to take. I fired up the update manager and it didn’t bother asking me for my password. Typing sudo su didn’t ask for a password.
Next test: SSH. I destroyed the Manjaro instance and went back to Ubuntu and attempted to SSH into the desktop—Shells gives you the public-facing IP address and the SSH port to be used).
SSH prompted for a password, but there is none. When I hit Enter, I was, once again asked for a password. I logged in to the desktop, set the user password and attempted to log in once again. No luck.
Not only do you not have a password for desktop logins, even after setting a password with the passwd command, SSH refuses to accept the password. This will be a problem for more advanced users, one that Shells will need to address.
I did finally run this same test with Ubuntu Server as the OS. Upon login, I typed the username was immediately logged in to the console. As a test, I dropped sudo from the passwd command, updated the password and attempted to log in via SSH.
Surprise surprise…this time around I was able to gain access to the remote Ubuntu server. Why this is possible on the server, and not the desktop, is beyond me. However, for those who’d prefer to use Shells as a host for a server OS, it’s good news.
Who should use Shells?
The answer to this question is pretty simple:
If you need a Linux desktop or server and don’t have the means to either install on bare metal or a virtual machine
If you need a Linux server and don’t want to go with one of the bigger cloud providers
If you need a Linux desktop or server and don’t mind a bit of lag in the GUI
If you need a Linux desktop and don’t mind not having a password
If you’re a student or a new admin and need to learn Linux and don’t have access to hardware or virtual machines
In other words, the use-case for something like Shells goes on and on. In the end, Shells works, and it works well. It may not be perfect, but it certainly makes deploying a Linux desktop or server as easy as it gets.
Subscribe to TechRepublic’s How To Make Tech Work on YouTube for all the latest tech advice for business pros from Jack Wallen.