Howdy, Stranger!

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


How Do You Run a Desktop Linux from a VPS Remotely? - Page 3
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

How Do You Run a Desktop Linux from a VPS Remotely?

13

Comments

  • I've used TeamViewer, Zoho Assist and NoMachine in recent times.
    But generally, my desktop VPS are using guacamole.

    The way I have it setup is running the web viewer and daemon (guacd) in Docker on 1 machine. The other machines are then connected via VPN (Wireguard). The VNC port is only exposed to the VPN. And the web viewer is behind Cloudflare Access via cloudflared.

    Thanked by 1ElonBezos
  • emgemg Veteran

    Minor update:

    Over the weekend, I diverted from my plan and created virtual machines to look at different desktop managers. I had not given them a serious look before. Debian's tasksel offered:
    GNOME, Xfce, GNOME Flashback, KDE Plasma, Cinnamon, MATE, LXDE, and LXQt
    ... so I created an instance of each one to see how they work as desktops.

    After looking them over, I prefer MATE's user interface. I wonder whether it is due to past familiarity with using MATE. The others were interesting and it was worth the time to look at them.

    -> I hope that MATE is sufficiently lightweight for remote desktop use.

    Next up as before:
    Look at x2go.
    Look at Xpra.
    Review Guacamole.
    Review this thread to find other recommendations that I may have missed.

    (I am still busy with other projects, so I steal time here and there to work on this one. Honestly, I have little need for a remote Linux desktop. That said, it could be a good use for an idle VPS, and the learning experience has been helpful for me.)

  • Lookup Kasm - https://www.kasmweb.com/

    Thanked by 1crilla
  • @chaoszero112 said:
    And the web viewer is behind Cloudflare Access via cloudflared.

    why? if someone hacks into the web viewer you think cloudflare protects it?

  • chaoszero112chaoszero112 Member
    edited November 2022

    @mosquitoguy said:

    @chaoszero112 said:
    And the web viewer is behind Cloudflare Access via cloudflared.

    why? if someone hacks into the web viewer you think cloudflare protects it?

    I'm not sure what you mean. How would they hack it? You can't get near the web viewer without going through Cloudflare Access. You would need to somehow gain access to the server, which has a DROPALL policy, or hack through Access' authentication portal. Or be on my home IP, I suppose.

  • After reading recommendation on nomachine, I wanted to try and now I can't believe how good it is.

    +1 nomachine

  • JeDaYoshiJeDaYoshi Member
    edited November 2022

    NoMachine is good and actually quite usable, but it's closed-source.

    Another option I've used is RustDesk, but I've not tried out sharing any Linux desktop with it yet. Let me know if anyone in here tries it out.

    Interesting to see n.eko being mentioned in here, but keep in mind that's not a proper "remote desktop sharing" solution - it's a containerised app, which generally spins up a browser on itself, and that's all you're getting access to unless you modify it to run something else.

  • rm_rm_ IPv6 Advocate, Veteran

    @JeDaYoshi said: NoMachine is good and actually quite usable, but it's closed-source.

    That is why I will not consider it myself. Did you try x2go? It is said to use the same technology under the hood, maybe only somewhat older version or a bit less advanced than NoMachine.

  • Between Windows PCs and high ping, TeamViewer hands down unless you're watching video through it which I haven't checked. I do lots of Excel and PDFs through it and it's been the best even at 200ms and higher ping.

    NoMachine's been just okay at 120ms+ ping from a Windows PC to Linux. Resolution's good but it's very slow compared to TeamViewer.

  • @Logano said:
    Between Windows PCs and high ping, TeamViewer hands down unless you're watching video through it which I haven't checked. I do lots of Excel and PDFs through it and it's been the best even at 200ms and higher ping.

    NoMachine's been just okay at 120ms+ ping from a Windows PC to Linux. Resolution's good but it's very slow compared to TeamViewer.

    If you make regular connections, it's best to setup port forwarding and access the other PC directly by IP and cut out the middle man performance hit. At the very least, do that for local PC's on your LAN. This also gets around those commercial use flags people get from time to time.

    Thanked by 1Logano
  • emgemg Veteran

    Minor update:

    I installed and tried Xpra, which was recommended by one of my kids. I tried it first on the testbed, then on the VPS.

    It was not very difficult to get it working at the most basic level, but there were still lots of glitches and issues. You install the software on both ends. In my case, I installed Xpra on the Linux server, but ran the Mac client application standalone from my unprivileged user account. XQuartz was already installed on my Mac.

    I tried both the "Seamless Session" and the "Desktop" modes. I opened up xterms and browsers, which open up in their own separate native Mac windows on my local desktop. The Desktop mode opens a window with separate frames for each remote host window in it.

    Performance was not as good as I expected, and I am not sure why. Overall, it worked okay. Scrolling in the browser window was difficult. It wanted to jump all the way up or down for the slightest move. Click the sidebar and drag worked somewhat better, but the using the arrow keys on the keyboard made it useable. I think that those may be correctable through the proper settings, which I have not explored.

    YouTube video was still jerky. It was watchable (barely) from the local virtual machine, but not the remote VPS. The sound quality was surprisingly good. I wish I had tried a few Office applications, but did not.

    This morning, the Mac client won't open X-Windows from the servers on the local desktop. It appears to connect. I tried with both the local testbed and the remote VPS. Both worked yesterday, not today. I think there may be an issue with the Mac client. I tried reinstalling Xpra on the testbed and reinstalled the client - no change. SSH connections work well, so that is not the problem.

    Another issue I ran into was user switching. User accounts seem to require SSH access. There does not seem to be a way to use a separate account for the SSH connection and then open windows from a different working account that does not have SSH access.

    I am not sure how much more I want to invest in Xpra before trying other solutions. I think I will set it aside and talk about it with my kid later. I'll give X2Go next.

    I am glad that people are sharing their experiences with TeamView and NoMachine. Before I look at them, I want to check out self-hosted solutions where a third-party connection is not required.

    Next up: x2go.

    Thanked by 2ElonBezos jugganuts
  • emgemg Veteran

    Another minor update:

    I installed and tested x2go. Installing the server was more trouble than Xpra. It did not install consistently. It behaved differently each time and I can't explain it. Repeating a step usually fixed the issues.

    The Mac client was much easier to use than Xpra. It worked the first time. I tested on the local virtual testbed and then ran it again on the VPS. Both worked well.

    The window opens into the desktop. There is no way to perform user switching from the desktop.

    Performance was more sluggish than other solutions, but not terrible. Browsing ordinary websites was tolerable. Videos were definitely not. LibreOffice writer was fine - no lag on typing.

    I am not sure what I will tackle next. Maybe Guacamole. I have not decided whether I want to look at solutions that require third-party servers, such as NoMachine. As I said before, I had hoped to find a self-hosted solution.

  • @emg said:
    Another minor update:

    I installed and tested x2go. Installing the server was more trouble than Xpra. It did not install consistently. It behaved differently each time and I can't explain it. Repeating a step usually fixed the issues.

    The Mac client was much easier to use than Xpra. It worked the first time. I tested on the local virtual testbed and then ran it again on the VPS. Both worked well.

    The window opens into the desktop. There is no way to perform user switching from the desktop.

    Performance was more sluggish than other solutions, but not terrible. Browsing ordinary websites was tolerable. Videos were definitely not. LibreOffice writer was fine - no lag on typing.

    I am not sure what I will tackle next. Maybe Guacamole. I have not decided whether I want to look at solutions that require third-party servers, such as NoMachine. As I said before, I had hoped to find a self-hosted solution.

    In the X2go client, there's a dropdown box for "session type". Change that to "X2Go/X11 Desktop Sharing". In my setup, that took me to login screen.

    Also, check if you're setting the connection so knows you're on LAN for better performance.

    But if you only need this for personal use and not commercial, just use Teamviewer and call it a day.

    Thanked by 1emg
  • emgemg Veteran

    @TimboJones said:

    In the X2go client, there's a dropdown box for "session type". Change that to "X2Go/X11 Desktop Sharing". In my setup, that took me to login screen.

    Also, check if you're setting the connection so knows you're on LAN for better performance.

    But if you only need this for personal use and not commercial, just use Teamviewer and call it a day.

    Thanks for the assist, but it isn't working with the Mac client to a Debian 11 server. The problem is probably the Mac client itself. Under "Session Type" the preferences offer a checkbox labeled "Run in X2GoKDrive (experimental)". That experimental X2GoKDrive setting is where the "X2Go/X11 Desktop Sharing" setting is hidden. I tried a variety of session types after enabling X2GoKDrive, but none would open the desktop window, including the X2Go/X11 Desktop Sharing setting.

    With x2go, I have a full desktop, but only for the remote access account. There is no way to switch users to the working account. Yes, I can open a terminal and use "su" and "sudo" as needed, but I can't switch desktop users without giving the working account its own separate remote access (SSH) privileges.

  • emgemg Veteran
    edited November 2022

    Here is an X2Go server installation hint (tested on Debian 11 with MATE):

    Does an empty desktop window appears briefly, then close, and a dialog box appear with the error "Unable to execute: mate-session" or something comparable for your desktop manager choice? Did you install your desktop environment using tasksel during your initial Linux installation? (Tasksel is that menu of checkboxes with optional features to install during initial installation.)
    -> I could not get x2go to work with the default MATE as installed by "tasksel" during Debian installation.

    Workaround:
    -> Install MATE (or your chosen desktop) from the command line even though it was already installed during the original Debian installation with tasksel. After that, x2go worked as expected.

    MATE command example:
    apt install mate-desktop-environment

  • emgemg Veteran

    Another minor update:

    I have tried getting Guacamole to work on my VPS and the testbed. So far, all attempts have failed. The best of them is to the point where I am logged into the Guacamole server's web page and see the menu of servers to choose from, but when I click on the connection, I get an "internal Guacamole error has occurred" message.

    Guacamole installation is complex. Be wary of incomplete or incorrect tutorials. The tutorials look similar to one another, but they have subtle and not-so-subtle differences. Some are imperfect copies of other ones - I caught at least one with cut-n-paste errors. Look over the tutorials carefully and read them to the end to make sure they make sense to you.

    Anyway, I am not giving up yet, but a little discouraged. My testbed VM has 9 different snapshots. That does not include the 8 separate VMs that tested different display managers. I gotta delete a few to free up disk space. I have been busy in my spare time. :-(

    Happy Thanksgiving to those in the US and those who celebrate it elsewhere!

  • @emg said:

    @TimboJones said:

    In the X2go client, there's a dropdown box for "session type". Change that to "X2Go/X11 Desktop Sharing". In my setup, that took me to login screen.

    Also, check if you're setting the connection so knows you're on LAN for better performance.

    But if you only need this for personal use and not commercial, just use Teamviewer and call it a day.

    Thanks for the assist, but it isn't working with the Mac client to a Debian 11 server. The problem is probably the Mac client itself. Under "Session Type" the preferences offer a checkbox labeled "Run in X2GoKDrive (experimental)". That experimental X2GoKDrive setting is where the "X2Go/X11 Desktop Sharing" setting is hidden. I tried a variety of session types after enabling X2GoKDrive, but none would open the desktop window, including the X2Go/X11 Desktop Sharing setting.

    With x2go, I have a full desktop, but only for the remote access account. There is no way to switch users to the working account. Yes, I can open a terminal and use "su" and "sudo" as needed, but I can't switch desktop users without giving the working account its own separate remote access (SSH) privileges.

    If you type "logout" or signout from the power options, it disconnects the X2go instead of going to login page?

    For Guacamole, did you try the one line installer on github linked above? That made it seem like it took care of everything for you... (have not tried) I expect a little error checking in a script like that to have a reasonable chance of being operational at the end unless it said it failed and why.

    https://github.com/Har-Kuun/OneClickDesktop

  • emgemg Veteran

    Thanks to Timbo for his input. I learned a lot since yesterday, including the fact that Guacamole is effectively a "client" in the sense that there must be an underlying SSH, VNC, or RDP server for Guacamole to connect to.

    On my testbed and VPS, I was reverting them back to a basic server with SSH only before installing and testing the next remote access type.

    Guacamole won't work for a desktop unless there is an underlying VNC or RDP (xrdp?) server for it to connect to. This little detail was omitted from all of the Guacamole installation tutorials I looked at. They just assumed that VNC or RDP was already installed.

    Back to another try with Guacamole. Finally I am starting to understand the available remote desktop choices better. I will write a summary of what I have learned when I am done. In the meantime, I will keep updating this thread.

  • @emg said:
    I am not sure what I will tackle next. Maybe Guacamole. I have not decided whether I want to look at solutions that require third-party servers, such as NoMachine. As I said before, I had hoped to find a self-hosted solution.

    Just to correct on this: NoMachine doesn't requires third-party servers, unlike TeamViewer etc. - the issue raised up in here was that it's closed-source.

    @rm_ said:

    @JeDaYoshi said: NoMachine is good and actually quite usable, but it's closed-source.

    That is why I will not consider it myself. Did you try x2go? It is said to use the same technology under the hood, maybe only somewhat older version or a bit less advanced than NoMachine.

    I've not tried out X2Go yet, but I will take a look - however, it seems like it only supports a connection through SSH, which misses one of the great benefits of the newer versions of NoMachine: It has support to transmit multimedia through UDP, which results in better performance and has no head-of-line blocking issues.

  • X2go is a good choice

  • I use Google Remote Desktop. On my Ubuntu VPS. It’s free so no time limits or limitations

  • What is final decision OP? I am looking for similar to setup in my home lab.

  • emgemg Veteran

    @orion504 said:
    What is final decision OP? I am looking for similar to setup in my home lab.

    Sorry, but I have not had time to make progress. It may be several weeks before I can pick that up again. The project expanded into more than remote desktop, so I set it aside to focus on a different aspect of it. I will get back to the remote desktop aspects, I promise. Don't wait for me.

    Thanked by 1orion504
  • emgemg Veteran

    I would like to point out this thread that just started up, about another remote desktop solution called RustDesk. I intend to give it a look when I free up time:

    https://lowendtalk.com/discussion/183495/have-you-tried-rustdesk

  • MaouniqueMaounique Host Rep, Veteran

    I am using many such solutions, albeit I don't use macs.
    Various setups for various people I help with, from plain teamviewer and google remote desktop with chrome, to X2GO and spice.
    If you control the server, use SPICE. That offers one of the smoothest experiences, including with 3d apps.
    If you don't control the server, only the VPS, X2GO usually offers good performance, but google remote desktop is my usual goto when i am managing a fleet of servers.
    Simple RDP works with various back-ends, but the performance is choppy especially with 3d, tearing is not uncommon, unless you have a very good connection and even then.

    X2GO is a good compromise, reasonable performance at reasonable cost. Full control like in a RDP with easy management of connections, chrome (google) remote desktop. It does not offer such a great performance, especially with 3d apps. Best performance, SPICE, but you need to control the node.

    Security wise, x2go is reasonable, SPICE is perfect since you control the node and can turn on or off as needed, google if you trust big brother, which I don't and only use on places where privacy doesn't matter as there is nothing sensitive or data running there and where convenience is the main requirement.

    Both SPICE and X2GO have some quirks, after a while working with them you get to know them. Chrome remote desktop just works.

    If I wish to change user, I simply open another window, Linux is fully multiuser.

  • webtop in docker would be the safe option imho. you can use UFW or similar to lock the port it's on to your local IP address or IP of our VPN.

    Then just access through any browser. You can also use docker compose file to decide how much of the file system is exposed in the browser webtop.

    Linuxserver on dockerhub have a pretty well maintained and documented image.
    https://hub.docker.com/r/linuxserver/webtop

    It uses XFCE desktop which is minimal, but something like gnome or kde would likely be too heavy via a browser.

  • ArkasArkas Moderator

    RustDesk ?

  • @Arkas said:
    RustDesk ?

    You having a stroke?

Sign In or Register to comment.