Setting Up Ubuntu Desktop on AWS Workspace

September 30, 2022

I've been a fan of the Ubuntu desktop distribution since 2009, back in my university days. It was exciting to use it as a Windows desktop replacement, although the journey was filled with challenges such as hardware compatibility issues related to the webcam, sound, and keyboard.

2022 09 30

What I love about Ubuntu is the community support. I could always find answers to my questions on Google. However, when I first started, I would blindly copy and paste commands into the terminal and sometimes mess up the environment without knowing how to revert the changes. As a result, I had to reinstall Ubuntu Desktop multiple times.

Nowadays, I've migrated Ubuntu Desktop to an AWS EC2 instance. It works well with Google Chrome's remote desktop setup, and I enjoy the flexibility of choosing CPU, memory, and storage hardware based on my needs. Although the sound works, I've been disappointed by the browser scrolling experience, which feels delayed, especially when streaming YouTube videos.

This morning, I saw an announcement about the availability of Ubuntu Desktop on AWS Workspace and decided to try it out immediately. I had used AWS Workspace before—a fully managed Virtual Desktop Infrastructure (VDI)—and found the user experience to be better on Windows instances using the Remote Desktop Protocol (RDP). Since RDP is a proprietary protocol developed by Microsoft, I prefer not to use it. Meanwhile, Linux desktops use PCoIP, which can sometimes feel laggy and unresponsive. Additionally, the Amazon Linux2 image with MATE desktop wasn't customized to my liking.

Today, I finally have my preferred option: Ubuntu Desktop on AWS Workspace, set up using WorkSpaces Streaming Protocol (WSP). I'm writing this blog post from this very setup.

Step-by-Step Guide

Step 0: Before getting started, you'll need to set up a directory. You may be unsure whether to choose AWS Managed Microsoft AD or Simple AD. In my case, I only needed an inexpensive Active Directory compatible service, so I chose Simple AD, as shown in the screenshot below:

diagram1

Step 1: Once the directory is set up, you can select it to create an AWS-managed workspace. This process takes some time, and you'll need to register it as well.

diagram2

Steps 2 & 3: Next, create a user and identify them.

diagram5

Step 4: Select the Ubuntu Desktop bundle. The UI lacks search and filter functionality, so you might have to navigate to the last page to find the Ubuntu options. You can choose from various hardware configurations. I picked the performance option because it currently has a free tier promotion.

diagram6

Step 5: Choose between "Always On" or "AutoStop." I selected "AutoStop" with a one-hour timeout for cost savings.

diagram7

Step 6: Skip the optional encryption for now.

diagram8

Finally, wait for the status to change from "Pending" to "Ready." Then you can start connecting using the registration code. While you can download the AWS client and install it on your laptop, one feature I particularly like about Ubuntu Desktop on AWS Workspace is the ability to access it via the web. To enable this, follow one more step:

Go to the WorkSpaces console at https://console.aws.amazon.com/workspaces/ and, in the navigation pane, choose "Directories." Select your directory and then choose "Actions," followed by "Update Details." Expand "Access Control Options" and locate the "Other Platforms" section. Choose "Web Access" and then "Update and Exit."

diagram9

Now you can access Ubuntu Desktop from any browser at https://clients.amazonworkspaces.com/webclient. Input your registration code to continue.

diagram11

Enter your username and password. (If you've forgotten your directory password, you can reset it through your AWS console.)

diagram12

And there you have it! You've successfully logged in to a fully functional Ubuntu Desktop in a web browser.

diagram10

This setup is incredibly convenient, allowing me to access my workspace from anywhere. So far, the performance has been excellent, and I'm pleased with the user experience. If you have any questions about this setup, feel free to ask, and I'll be happy to share more information with the community.


Profile picture

Victor Leung, who blog about business, technology and personal development. Happy to connect on LinkedIn