LowEndBox - Cheap VPS, Hosting and Dedicated Server Deals

How to Setup a Browser-Based Desktop with a Single Script

Tags: , , , Date/Time: August 20, 2020 @ 12:00 pm, by raindog308

In August 2020, @dedipromo posted a neat script on LowEndTalk that he’d developed.  The script sets up Guacamole, Nginx, the xfce4 desktop GUI, Firefox, VNC, and Let’s Encrypt.  After running it, you can point your web browser at your VPS and access a normal Linux desktop without having to use a VNC or other remote desktop client.  Neat!

In this tutorial, we’ll walk through using @dedipromo’s script and show you how it works.

The Desktop

I’m using a Debian 10 x64 server with 2 cores and 4GB of RAM.  @dedipromo’s script recommends a minimum of 1GB of RAM, but 2GB of RAM may be better.  In this case my system is desktop.lowend.party and my username is raindog308.

Setup

After initializing the VPS, I created a user account:

root@desktop:~# useradd -m -s /bin/bash raindog308
root@desktop:~# passwd raindog308

I’m running the setup as root, but if you want to run it via sudo, give yourself sudo permissions by creating something like /etc/sudoers.d/raindog308 and putting this in the file:

raindog308 ALL=(ALL) NOPASSWD:ALL

Now we can download and run the script:

root@desktop:~# wget https://raw.githubusercontent.com/Har-Kuun/OneClickDesktop/master/OneClickDesktop.sh && bash OneClickDesktop.sh

*******************************************************************
* One-click Desktop & Browser Access Setup Script *
* Version 0.0.2 *
* Author: shc (Har-Kuun) https://qing.su *
* https://github.com/Har-Kuun/OneClickDesktop *
* Thank you for using this script. E-mail: hi@qing.su *
*******************************************************************

This script is going to install a desktop environment with browser access.

This environment requires at least 1 GB of RAM.

Would you like to proceed? [Y/N]

When you say Yes, the script will download 1,155 packages and do some compiling, so go read LowEndBox or LowEndTalk while you wait.

After doing quite a lot of work, the script will ask you some questions:

Please input your username:
raindog308

Please input your password:
(complex password here)

Note that this is not your Unix password but rather the Guacamole password that will be setup for you.

Next you’ll be asked for an 8-character VNC password, which must be exactly 8 characters:

Please input your 8-character VNC password:
(exactly 8 character password)
The script the continues:

Guacamole successfully configured!

Starting to install desktop, browser, and VNC server...
Please note that if you are asked to configure LightDM during this step, simply press Enter.

Press Enter to continue.

And after Enter, we’re off and running for another 202 packages.  The script will then ask you for your “domain name” which is more accurately your system’s FQDN:

Please tell me your domain name (e.g., desktop.qing.su):
desktop.lowend.party

Now finish by answering Y when asked to setup Let’s Encrypt and then enter your contact address:

Would you like to install a free Let's Encrypt certificate for domain name desktop.lowend.party? [Y/N]
Please point your domain name to this server IP BEFORE continuing!
Type Y if you are sure that your domain is now pointing to this server IP.

Please input an e-mail address:
raindog308@raindog308.com

And you’re done:

You can now access your desktop at https://desktop.lowend.party!
Your username is raindog308 and your password is (complex-password).

Thank you for using this script written by https://qing.su!
Have a nice day!

Trying It Out

Browsing to https://desktop.lowend.party I am greeted with the Guacamole prompt:

After entering the password I created above (not my Unix password) I see the familiar Linux desktop:

I'm Andrew, techno polymath and long-time LowEndTalk community Moderator. My technical interests include all things Unix, perl, python, shell scripting, and relational database systems. I enjoy writing technical articles here on LowEndBox to help people get more out of their VPSes.

No Comments

    Leave a Reply

    Some notes on commenting on LowEndBox:

    • Do not use LowEndBox for support issues. Go to your hosting provider and issue a ticket there. Coming here saying "my VPS is down, what do I do?!" will only have your comments removed.
    • Akismet is used for spam detection. Some comments may be held temporarily for manual approval.
    • Use <pre>...</pre> to quote the output from your terminal/console, or consider using a pastebin service.

    Your email address will not be published. Required fields are marked *