Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Advertise on LowEndTalk.com
I wrote a script that sets up desktop environment on VPS and can be accessed through any web browser
New on LowEndTalk? Please read our 'Community Rules' by clicking on it in the right menu!

I wrote a script that sets up desktop environment on VPS and can be accessed through any web browser

As title suggests, I wrote a one-click script that sets up a desktop environment on a spare Linux VPS, and such desktop environment can be access through any web browser, so that you don't need to install VNC client software on each of your computers.

I hope this script can be helpful to some people, because guacamole and desktop setup can be somewhat difficult to new linux users, and this script will take care of those steps.

Github Link

https://github.com/Har-Kuun/OneClickDesktop
Stars and forks are appreciated.

System Requirement

  • Ubuntu 18.04, Ubuntu 20.04, or Debian 10. 64-bit only.
  • 1 IPv4 (IPv6-only NAT should also work, but not tested).
  • At least 1 GB RAM

How to use

wget https://raw.githubusercontent.com/Har-Kuun/OneClickDesktop/master/OneClickDesktop.sh && sudo bash OneClickDesktop.sh

What does the script do

  • Compile Guacamole server from source
  • Configure and install Guacamole client
  • Serve Guacamole with Tomcat 9
  • Install xfce4 desktop GUI and firefox
  • Set up TigerVNC
  • Set up Nginx reverse proxy
  • One-click install Let's Encrypt SSL
  • Optionally and only experimentally, Chrome browser can be one-click installed using the plugin script

Other notes

  • It is highly discouraged to install desktop environment within your current production environment, because desktop environment will bring complexity to your server security.
  • It is recommended to configure firewall after the setup so that your desktop environment will be safer.

All suggestions, questions, and bug reports are highly appreciated. Thanks!

One-click CDN server installation on your own VPS: OneClickCDN
One-click browser-accessible Desktop environment on Linux VPS: OneClickDesktop

Comments

  • edited August 4

    Nice.. more convenient way to use idling VPSes..

    Thanked by 2dedipromo ariq01

    A simple uptime dashboard using UptimeRobot API https://upy.baubus.uk
    Currently using VPS from BuyVM, HostHatch, HostSailor, HostSolutions, InceptionHosting, LiteServer, MaxKVM, MrVM, ServaRICA, VirMach.

  • Thanks friend for sharing this,will try it out :)

    Thanked by 1dedipromo
  • What os you get in de desktop environment?
    Is it windows or ubuntu ?

  • edited August 4

    @suricloud said:
    What os you get in de desktop environment?
    Is it windows or ubuntu ?

    of course it is debian and ubuntu

    A simple uptime dashboard using UptimeRobot API https://upy.baubus.uk
    Currently using VPS from BuyVM, HostHatch, HostSailor, HostSolutions, InceptionHosting, LiteServer, MaxKVM, MrVM, ServaRICA, VirMach.

  • @suricloud said:
    What os you get in de desktop environment?
    Is it windows or ubuntu ?

    It does not create a OS inside your current OS; it just installs desktop GUI and some programs related. So if you use Ubuntu, the system will still be Ubuntu; if you use Debian, the system will still be Debian.

    One-click CDN server installation on your own VPS: OneClickCDN
    One-click browser-accessible Desktop environment on Linux VPS: OneClickDesktop

  • @dedipromo said:

    @suricloud said:
    What os you get in de desktop environment?
    Is it windows or ubuntu ?

    It does not create a OS inside your current OS; it just installs desktop GUI and some programs related. So if you use Ubuntu, the system will still be Ubuntu; if you use Debian, the system will still be Debian.

    Ok got it, possibility to have a installation script with windows :)

  • useful one, thanks

    Thanked by 1dedipromo
  • jahrincjahrinc Member

    Great stuff man, will check it out soon!

    Thanked by 1dedipromo
  • vimalwarevimalware Member
    edited August 5

    Nice contribution OP. I don't mean to demean, but

    X2go /(nomachine) would be more performant no? (owned local computer)

    I'd pick Guacamole only if your local device is some crippled computer like a chromebook/corporate PC.

    Thanked by 1dedipromo

    USA storage KVM €25/yr 1G, 500GB (RAID6)
    (affiliate for 🥰 ) https://clients.inceptionhosting.com/aff.php?aff=401&pid=205

  • @vimalware said:
    Nice contribution OP. I don't mean to demean, but

    X2go /(nomachine) would be more performant no? (owned local computer)

    I'd pick Guacamole only if your local device is some crippled computer like a chromebook/corporate PC.

    Thanks for the feedback! I'll look into X2Go, and probably will do another script on that as well :D

    One-click CDN server installation on your own VPS: OneClickCDN
    One-click browser-accessible Desktop environment on Linux VPS: OneClickDesktop

  • Saw your post on V2 :)
    Nice stuff.
    Could it be used like a remote browser to keep the browser fingerprint unified?

    Thanked by 1dedipromo
  • HostingbotHostingbot Member, Provider

    This is legit, thanks!

    Thanked by 1dedipromo

    Hosting Bot, LLC | [email protected] | 512-766-8013

  • @hiphiphip0 said:
    Saw your post on V2 :)
    Nice stuff.
    Could it be used like a remote browser to keep the browser fingerprint unified?

    Thanks for the kind words. I'm not clear what you mean by "keep browser fingerprint unified," but sure, you can use it as a remote browser to keep your personal info private :)

    One-click CDN server installation on your own VPS: OneClickCDN
    One-click browser-accessible Desktop environment on Linux VPS: OneClickDesktop

  • @dedipromo said:
    As title suggests, I wrote a one-click script that sets up a desktop environment on a spare Linux VPS, and such desktop environment can be access through any web browser, so that you don't need to install VNC client software on each of your computers.

    I hope this script can be helpful to some people, because guacamole and desktop setup can be somewhat difficult to new linux users, and this script will take care of those steps.

    Github Link

    https://github.com/Har-Kuun/OneClickDesktop
    Stars and forks are appreciated.

    System Requirement

    • Ubuntu 18.04, Ubuntu 20.04, or Debian 10. 64-bit only.
    • 1 IPv4 (IPv6-only NAT should also work, but not tested).
    • At least 1 GB RAM

    How to use

    wget https://raw.githubusercontent.com/Har-Kuun/OneClickDesktop/master/OneClickDesktop.sh && sudo bash OneClickDesktop.sh
    

    What does the script do

    • Compile Guacamole server from source
    • Configure and install Guacamole client
    • Serve Guacamole with Tomcat 9
    • Install xfce4 desktop GUI and firefox
    • Set up TigerVNC
    • Set up Nginx reverse proxy
    • One-click install Let's Encrypt SSL
    • Optionally and only experimentally, Chrome browser can be one-click installed using the plugin script

    Other notes

    • It is highly discouraged to install desktop environment within your current production environment, because desktop environment will bring complexity to your server security.
    • It is recommended to configure firewall after the setup so that your desktop environment will be safer.

    All suggestions, questions, and bug reports are highly appreciated. Thanks!

    Looks great.. but I like to idle my vps under centos... would you consider a script for centos in future please? Tia

    Thanked by 1dedipromo
  • @plumberg said:

    @dedipromo said:
    As title suggests, I wrote a one-click script that sets up a desktop environment on a spare Linux VPS, and such desktop environment can be access through any web browser, so that you don't need to install VNC client software on each of your computers.

    I hope this script can be helpful to some people, because guacamole and desktop setup can be somewhat difficult to new linux users, and this script will take care of those steps.

    Github Link

    https://github.com/Har-Kuun/OneClickDesktop
    Stars and forks are appreciated.

    System Requirement

    • Ubuntu 18.04, Ubuntu 20.04, or Debian 10. 64-bit only.
    • 1 IPv4 (IPv6-only NAT should also work, but not tested).
    • At least 1 GB RAM

    How to use

    wget https://raw.githubusercontent.com/Har-Kuun/OneClickDesktop/master/OneClickDesktop.sh && sudo bash OneClickDesktop.sh
    

    What does the script do

    • Compile Guacamole server from source
    • Configure and install Guacamole client
    • Serve Guacamole with Tomcat 9
    • Install xfce4 desktop GUI and firefox
    • Set up TigerVNC
    • Set up Nginx reverse proxy
    • One-click install Let's Encrypt SSL
    • Optionally and only experimentally, Chrome browser can be one-click installed using the plugin script

    Other notes

    • It is highly discouraged to install desktop environment within your current production environment, because desktop environment will bring complexity to your server security.
    • It is recommended to configure firewall after the setup so that your desktop environment will be safer.

    All suggestions, questions, and bug reports are highly appreciated. Thanks!

    Looks great.. but I like to idle my vps under centos... would you consider a script for centos in future please? Tia

    Thanks for the feedback. I'm working on a CentOS 8 version; but it won't be able to support CentOS 7 though.

    Thanked by 1plumberg

    One-click CDN server installation on your own VPS: OneClickCDN
    One-click browser-accessible Desktop environment on Linux VPS: OneClickDesktop

  • MoneySPMoneySP Member

    Thank you. I will give it a try. I subscribe the user who suggested x2go/nomachine or even thinlinc.

    Thanked by 1dedipromo
  • @hiphiphip0 said:
    Saw your post on V2 :)
    Nice stuff.
    Could it be used like a remote browser to keep the browser fingerprint unified?

    Is there a v2(ray) tutorial /script?
    I'd like to check it out. Link or PM plz?

    USA storage KVM €25/yr 1G, 500GB (RAID6)
    (affiliate for 🥰 ) https://clients.inceptionhosting.com/aff.php?aff=401&pid=205

  • It's cool, i will trying. Thanks.

    Thanked by 1dedipromo

    VPS with perfect, complete, unique control panel and feature + has a mobile application, please check Cloudcone (Aff)
    VPS with perfect service and fast network for Indonesia, please check NexusBytes (Aff)

  • LTnigerLTniger Member
    edited August 5

    This is disgusting! Thank you.

    Thanked by 1dedipromo

    hostwp.net -- Wordpress Hosting for Developers.

  • emreemre Member
    edited August 5

    Guacamole is an interesting project but too much work for just a simple remote desktop in my opinion.

    Tomcat is java and java is something I hate after all these years wrestiling with idracs and ipmi's

    I installed an idle vps with this script. Script is very good and does what it says.

    But the performance of vnc over browser is not that good. Very laggy.

    If i installed the same server with xfce + x2go it almost feels like local desktop.

    Anyway is there a way to add other servers to this setup?

    As Guacamole is a server where we can add multiple remote desktops?

    If I enter the Guacamole after this installation it directly opens the desktop of the server it's installed over.

    where can I find other Guacamole setup screens to add more remote desktop servers?

    Thanked by 1dedipromo
  • emreemre Member
    edited August 5

    I installed a vps with 1 gb of ram and 1 dedicated core + nvme

    and only after the default install when I try to install something with apt:

    Fetched 1134 kB in 0s (32.3 MB/s)
    Selecting previously unselected package gir1.2-keybinder-3.0.
    (Reading database ... 152932 files and directories currently installed.)
    Preparing to unpack .../0-gir1.2-keybinder-3.0_0.3.2-1_amd64.deb ...
    Unpacking gir1.2-keybinder-3.0 (0.3.2-1) ...
    dpkg: unrecoverable fatal error, aborting:
     fork failed: Cannot allocate memory
    FATAL -> Failed to fork.
    # 
    Progress: [  3%] [##........................................................] 
    
    

    ram is no more.

    so 1 gb ram is not enough obviously to do something reasonably with this setup.

    maybe 2gb ram is minimum I guess..

    Thanked by 1vimalware
  • Might we worth mentioning what the Java default heap size is, so we can plan virtual memory better, nvme swap 😈

    USA storage KVM €25/yr 1G, 500GB (RAID6)
    (affiliate for 🥰 ) https://clients.inceptionhosting.com/aff.php?aff=401&pid=205

  • @dedipromo said:

    @plumberg said:

    @dedipromo said:
    As title suggests, I wrote a one-click script that sets up a desktop environment on a spare Linux VPS, and such desktop environment can be access through any web browser, so that you don't need to install VNC client software on each of your computers.

    I hope this script can be helpful to some people, because guacamole and desktop setup can be somewhat difficult to new linux users, and this script will take care of those steps.

    Github Link

    https://github.com/Har-Kuun/OneClickDesktop
    Stars and forks are appreciated.

    System Requirement

    • Ubuntu 18.04, Ubuntu 20.04, or Debian 10. 64-bit only.
    • 1 IPv4 (IPv6-only NAT should also work, but not tested).
    • At least 1 GB RAM

    How to use

    wget https://raw.githubusercontent.com/Har-Kuun/OneClickDesktop/master/OneClickDesktop.sh && sudo bash OneClickDesktop.sh
    

    What does the script do

    • Compile Guacamole server from source
    • Configure and install Guacamole client
    • Serve Guacamole with Tomcat 9
    • Install xfce4 desktop GUI and firefox
    • Set up TigerVNC
    • Set up Nginx reverse proxy
    • One-click install Let's Encrypt SSL
    • Optionally and only experimentally, Chrome browser can be one-click installed using the plugin script

    Other notes

    • It is highly discouraged to install desktop environment within your current production environment, because desktop environment will bring complexity to your server security.
    • It is recommended to configure firewall after the setup so that your desktop environment will be safer.

    All suggestions, questions, and bug reports are highly appreciated. Thanks!

    Looks great.. but I like to idle my vps under centos... would you consider a script for centos in future please? Tia

    Thanks for the feedback. I'm working on a CentOS 8 version; but it won't be able to support CentOS 7 though.

    Awesome. That works too... thank you

  • TejyTejy Member

    I'm stuck at: "Please input your 8-character VNC password:".
    What I must do? :/

  • jsgjsg Member
    edited August 5

    Thank you, but you might want to have a look at this (there highly likely are more):
    Critical Apache Guacamole Flaws Put Remote Desktops at Risk of Hacking

    Thanked by 1dedipromo

    Thanks no.

  • CarneCarne Member

    Putting this into some wireguard tunnel would be nice so you can make the stuff just listen on localhost and not need to expose it to the internets.

    Thanked by 1dedipromo
  • @Tejy said:
    I'm stuck at: "Please input your 8-character VNC password:".
    What I must do? :/

    I get this too.

    I try 12345678 success to next step. :smiley:

    Thanked by 1dedipromo

    VPS with perfect, complete, unique control panel and feature + has a mobile application, please check Cloudcone (Aff)
    VPS with perfect service and fast network for Indonesia, please check NexusBytes (Aff)

  • ctoomctoom Member

    I saw this in the Chinese forum, nice scripts!
    will install a VPS to test this!

    Thanked by 1dedipromo

    Colleting Cheap VPS Hostings as a part time job!

  • TejyTejy Member

    @youandri said:

    @Tejy said:
    I'm stuck at: "Please input your 8-character VNC password:".
    What I must do? :/

    I get this too.

    I try 12345678 success to next step. :smiley:

    Thanks, it worked! :D

    Thanked by 1dedipromo
  • @emre said:
    I installed an idle vps with this script. Script is very good and does what it says.
    But the performance of vnc over browser is not that good. Very laggy.
    If i installed the same server with xfce + x2go it almost feels like local desktop.

    Thanks for the feedback. VNC is in general very laggy, and actually vnc over browser is a little bit faster than pure VNC, since bandwidth consumption is reduced. There is no doubt that x2go or xrdp would be much smoother. I'm considering making that into a script in the future.

    Anyway is there a way to add other servers to this setup?
    As Guacamole is a server where we can add multiple remote desktops?
    If I enter the Guacamole after this installation it directly opens the desktop of the server it's installed over.
    where can I find other Guacamole setup screens to add more remote desktop servers?

    For that purpose you'll have to manually edit /etc/guacamole/user-mapping.xml and /etc/guacamole/guacamole.properties and add servers accordingly.

    @emre said: so 1 gb ram is not enough obviously to do something reasonably with this setup.

    I managed to install this on my 1 GB vps and can use the firefox without problems; no Chrome though. But yup, 1.5 GB or more should be a more stable setup. I'll edit the introduction page to reflect this.

    @jsg said:
    Thank you, but you might want to have a look at this (there highly likely are more):
    Critical Apache Guacamole Flaws Put Remote Desktops at Risk of Hacking

    Thank you for pointing this out. I believe what @Carne suggests is a good solution to the security issues.

    Thanked by 1kkrajk

    One-click CDN server installation on your own VPS: OneClickCDN
    One-click browser-accessible Desktop environment on Linux VPS: OneClickDesktop

  • @Tejy said:

    @youandri said:

    @Tejy said:
    I'm stuck at: "Please input your 8-character VNC password:".
    What I must do? :/

    I get this too.

    I try 12345678 success to next step. :smiley:

    Thanks, it worked! :D

    Haha for this step you just need to type in anything that is 8-character in length, for example, LETnice9.

    One-click CDN server installation on your own VPS: OneClickCDN
    One-click browser-accessible Desktop environment on Linux VPS: OneClickDesktop

  • @dedipromo said:

    @Tejy said:

    @youandri said:

    @Tejy said:
    I'm stuck at: "Please input your 8-character VNC password:".
    What I must do? :/

    I get this too.

    I try 12345678 success to next step. :smiley:

    Thanks, it worked! :D

    Haha for this step you just need to type in anything that is 8-character in length, for example, LETnice9.

    I have tried with 8char length and combination like that but not work.

    Btw, i use debian 10.

    VPS with perfect, complete, unique control panel and feature + has a mobile application, please check Cloudcone (Aff)
    VPS with perfect service and fast network for Indonesia, please check NexusBytes (Aff)

  • @jsg said:
    Thank you, but you might want to have a look at this (there highly likely are more):
    Critical Apache Guacamole Flaws Put Remote Desktops at Risk of Hacking

    Regarding this, whether coincidence or not, after installing this script, I get a spam phishing abuse notification.

    Maybe hacked. :hushed:

    VPS with perfect, complete, unique control panel and feature + has a mobile application, please check Cloudcone (Aff)
    VPS with perfect service and fast network for Indonesia, please check NexusBytes (Aff)

  • @youandri said: I have tried with 8char length and combination like that but not work.

    Probably there is some special symbols (such as $, @, etc.) in the string that was mishandled by the script.

    @youandri said: Maybe hacked.

    That's unfortunate. Probably it's safer to only allow 80/443 port connection, and block VNC ports, especially since TigerVNC only supports 8-char length password.

    One-click CDN server installation on your own VPS: OneClickCDN
    One-click browser-accessible Desktop environment on Linux VPS: OneClickDesktop

  • @vimalware said:
    Is there a v2(ray) tutorial /script?
    I'd like to check it out. Link or PM plz?

    I mean v2ex, not v2ray :D
    I haven't use v2ray yet, they are releasing next generation, so maybe wait. Meanwhile naiveproxy is simple and worth trying.

  • @dedipromo said:

    @youandri said: I have tried with 8char length and combination like that but not work.

    Probably there is some special symbols (such as $, @, etc.) in the string that was mishandled by the script.

    @youandri said: Maybe hacked.

    That's unfortunate. Probably it's safer to only allow 80/443 port connection, and block VNC ports, especially since TigerVNC only supports 8-char length password.

    I see, maybe that's the cause. :neutral:

    VPS with perfect, complete, unique control panel and feature + has a mobile application, please check Cloudcone (Aff)
    VPS with perfect service and fast network for Indonesia, please check NexusBytes (Aff)

  • Just wanna post an update. As of v0.1.0 (updated yesterday), the script now supports RDP alongside VNC. RDP runs much faster and smoother than VNC, so the lagging situation can be improved. Moreover, you can now customize the screen resolution to best fit your usage style.

    Thanked by 1kkrajk

    One-click CDN server installation on your own VPS: OneClickCDN
    One-click browser-accessible Desktop environment on Linux VPS: OneClickDesktop

  • @vimalware said:
    Nice contribution OP. I don't mean to demean, but

    X2go /(nomachine) would be more performant no? (owned local computer)

    I'd pick Guacamole only if your local device is some crippled computer like a chromebook/corporate PC.

    Kimsufi has x2go image. The performance is terrible to almost unusable (mainly used for downloading stuff from uptobox and the like.)

Sign In or Register to comment.