What's the best way to remote into a linux machine?

macabrett[they/them]@lemmy.ml to Linux@lemmy.ml – 102 points –

Not just the terminal, I mean a full remote desktop. What's the best method? Not just from one linux machine to another machine, but also remoting from a windows machine to a linux machine.

I'm a bit of a linux novice, but trying to do more.

58

I've been using Rust Desk for a few months now and it's awesome. Works on Linux, Windows, Mac, iOS, and Android.

It's open source and super easy to setup and configure. For limited use cases, you can just use their freely provided servers, but you can also host your own server if you want.

I've been really impressed with the connection speeds and features, it has everything I need including end-to-end encryption for all network traffic, so your remote connection is at far less risk of getting snooped.

I was looking into rust desk. It looked like the perfect solution for remotly helping my family members. The problem is I have them running silverblue. I don't think rust desk supports Wayland. There is a experimental way I was going to try, but I'm not sure how to install it since its not in Fedora repo or flatpak.

Just a data point: OP is looking for a desktop solution, and Rust Desk may be fine for that; I was pretty impressed with it. However, I caution about using it to share out on Android. I traced down random crashes and reboots into safe mode to Rust Desk running on a Pixel. It took me a while to figure out which app was causing it; it seemed to have no correlation to use, time, or anything else I could discern. They only went away after I completely uninstalled Rust Desk (which is why it took so long; I couldn't correlate it to running Rust Desk, so I didn't suspect it).

The reboots into safe mode turned me off to it on mobile - I had no issues at all running the desktop client on Linux. Android aside, it's a really nice bit of work, and I fancy even nicer than VNC, which for me is saying a lot.

That said, on a fast network, I still prefer a good old X client over ssh to VNC, if for no other reason than easier per-app windows - but I like the L&F and performance of X on a fast pipe.

Good to know since I'm using a pixel as well. For remoting to my own devices. Since they are all running Wayland now. I plan to try out waypipe soon. I read it's like a replacement for running X over ssh.

For helping family members I was looking for something more user friendly. Which is why I was looking into rust desk.

Nyfure is right. Wayland support is experimental but has been added to Rust Desk since earlier this year.

I haven't tested it on Wayland myself, and remote login isn't yet supported according to their GitHub documentation, but if you just need a reliable way to provide remote support to your fam, it's a really solid option.

Wayland is quickly becoming the standard, and Rust Desk seems to be on that train which is good. I wouldn't be surprised to see full Wayland support or close to it by the end of next year.

Also, I just use the .appimage file and it works fine for me. Just make sure to set it as executable with chmod +x or in the file permissions tab in your GUI.

Oh! I didn't see that app image was an option. I'm definitely going to give it a try now. For my use case I don't need remote login so that works out fine. Thanks.

This. You can also directly connect via IP address when enabled on the target, very handy.

Its probably also one of the few which have started developing Wayland support on the host side.
Currently only clipboard and video sharing works, mouse and keyboard are close..
wayland is very restrictive and things like full keyboard/mouse reading/writing need special handling (and afaik a mouse write method wasnt really available from user permissions so far)

I tried setting this up on my VM at work, but there's an external firewall somewhere in the network that blocks all ports except a handful. 22, 80, 443, 3389, and 8080 are the only ones I have found open thus far. I am not sure how to set up rust desk because I don't think I have enough available ports, and it needs I think 4 minimum.

I'm using VNC over an SSH tunnel. TigerVNC's vncviewer even has the -via parameter you can use to make creating the tunnel seamless.

I avoid it at all costs as no solution is really seamless, but NoMachine gave me the best (perceived) latency out of VNC, TeamViewer, and a couple others I tried a couple years ago. It's also cross platform, but if the machines are in different networks (behind a NAT), you'll likely need to configure port forwarding manually or via their GUI.

edit: I just remembered I even played youtube videos and the transport fever 2 game via NX (NoMachine) for a few hours and it worked well, while other protocols had either too much of a degraded quality or latency.

How intensive is nomachine? I've used it on decent hardware and it's performance was pretty good. But I'm thinking of setting it up on the raspbery pis at work since VNC is painful to use.

I don't know how it compares, but I've used it on the Pi and on Android before, and both work.

I’ve used it on my pi before I disabled the display manager because I barely used it, but performance was fine. I could log in from my desktop, phone, laptop, another pi, anything really, which was nice to have.

I use NoMachine as well as it has been the most responsive solution for me.

My biggest problem that I finally figured out was that NoMachine was attaching to a VNC console instead of creating its own display when I was using it with Unraid VMs (KVM)

xrdp tends to work well enough, and plays nicely with both the windows remote desktop application and various Linux clients

I have been using xrdp on the "server" and remmina on the "clients". Both ends worked beautifully "out of the box" (i.e. apt install). Occasionally I might have had to open the firewall for xrdp?

I use xrdp and remmina as well. I don't open ports though, I just use my VPN to get into my home network first. much safer

If xrdp works well enough, NoMachine us blazing fast in comparison. Have you given it a try?

Once but it was a long time ago

I honestly thought this was the default/classic answer, and am surprised at how far down it was.

I too just started Linux 2 weeks ago, and my search results led me to xrdp on host, and remmina on client.

2 more...

I'm a bit inexperienced in this aspect, but:

  • if you are on a trusted network (i.e. local/vpn only) you could give VNC a try. It's somewhat simple, but far from secure.
  • the gnome desktop environment should offer built in RDP support, but i have not tried it yet. Also, just like VNC, i wouldn't use RDP over the open internet.

To secure VNC you can tunnel it over SSH.

I'll add to the mix, if it's Gnome DE, rdp is built in now, it's under settings > sharing > enable rdp. Then you can use any rdp client, including windows. (Or remmina if from another Linux box)

SSH or RustDesk

RustDesk

With the shit they pulled on 'fixing' wayland support i would not recommend using their code ever.

https://github.com/rustdesk/rustdesk/blob/1.1.9/src/platform/linux.rs#L411-L422

Do you have any context links? That sed looks like something I'd do after 20h not finding the issue at first glance...

Interesting. I found RustDesk recommended as an alternative to AnyDesk. Do you have alternate suggestions?

Sometimes I use Steam Remote Play to access my personal linux desktop remotely. It's actually works pretty great and can automatically reduce stream quality to match your current bandwidth. It also has a lot less input latency than VNC or RDP, though it consumes a lot more bandwidth.

For gaming, sunshine server and moonlight client. Zerotier or tailscale to get around firewalls.

>Ctrl+F cockpit
>0 results
my dudes, I am dissapoint
https://cockpit-project.org/

but ok, yes, for actual remote desktop, VNC or RustDesk, despite RustDesk being some open-core implementation that holds the good stuff in the proprietary release. At least it was when I last checked it out.

I don't think OP is looking to remote into servers here, personally for servers ssh is great but for accessing my laptop from desktop/vice versa the terminal can be a bit awkward when there are applications with no cli behind them which is where a graphical remote desktop comes in handy

The best way used to be XPRA. You can also tunnel it thru SSH, but not necessary in a trusted LAN. XPRA is like a per application display proxy that keeps an app running even if the connection is interrupted and enables reconnects as well as transfers of Xclient windows to other Xservers, i.e. you can transfer the remote window from your notebook to your workstation Xserver whithout having to restart the app.

If you were looking for a Remote Desktop program to help a customer or other user, TeamViewer worked for me on Ubuntu. It was a great way to fix an issue remotely with a Windows user.

But you may not be looking for this type of connection.

RustDesk is a great alternative, FOSS and in Rust. Both only support X11

Install x2go on the client machine. You need X and SSH on the target machine. That's it, when you connect it will open a new desktop session on the server.

If you want to connect to an existing desktop session you need x2godesktopsharing installed on the target, you need to activate sharing in x2godesktopsharing, and in x2go client you need to select "session type" as "X2Go/X11 desktop sharing".

x forwarding is the way to go, i mean i remember i've run NetBeans IDE on linux, forwarded it via ssh to my windows netbook (netbook!!!, it was 2009?) to show my project to my professor at college, i remember i used Xming on Windows

I have had some success in the past with Rustdesk, which works alright amongst all the other options I’ve tried. However, one word of caution is to temper your expectations on the performance side of things. Visually, it is nowhere near a native experience regardless of software or protocols I’ve tried.

It’s unfortunate that Parsec still doesn’t support hosting on Linux. It is the best implementation of Remote Desktops I’ve used so far, and I tried almost all of them.

It’s first-class in every metric, except it doesn’t host Linux (only as clients), sadly.

NoMachine is what you're looking for. Full login remote desktop multiplatform solution like rdp/xrdp, but wayyy smoother.

nomachine works well in my experience; it's pretty straightforward to set up. And it offers nice performance. It's free (as in beer), but it is proprietary software -- they make their $$ selling enterprise features on their website.

I haven't done this in years but I've always found open source solutions to this to be quite clunky and usually barely worked. What always just worked fine for me was Teamviewer. Yeah it's proprietary and has crappy licensing but it's mostly a smooth ride.

Do try the open source options first tho, it's quite possible they got way better in the last few years since I've done this.

2 more...

AnyDesk, best performance I've experienced when it comes to screen sharing.

If your machines run X then TeamViewer, Rustdesk or Anydesk should work.

On Wayland I don't think they will, but I'm not sure. I tried TeamViewer about a year ago and it wouldn't run under Wayland.

In general, remote desktop is a pain on Linux.