What's the best way to remote into a linux machine?
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.
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.
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.
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 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’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)
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?
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.
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)
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
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.
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.
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.
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".
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.
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
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.