The Best Remote Desktop Apps For Linux

Sometimes You Really Just Need To Remote Control Windows From Linux

remote control windows from linux

Often you’ll need to get into another computer, either for work or play. As for me, I use a Windows computer for various programs that don’t necessarily work through WINE, such as Serif Affinity Designer. This list is The Best Remote Desktop Apps For Linux that allow you to control Windows. All of these can be used on your Steam Deck as well for some real remote desktop on the go.

All of these tests were done using Windows 10 on an Elitedesk 800 G4 with an i5-8500T and 16Gb ram with a screen resolution of 1080p (Though I typically use 1440p). This represents a fairly modern system with Intel integrated graphics, and something around these specs would be a good test rig for trying to use Windows applications over the network.


The UI is simple and clean while being easy to understand and use.

Alrighty, the first one up is Anydesk, a closed-source program that offers a free, personal package for non-commercial usage. Not a bad deal if you just need access to a few devices.

I tried Anydesk for a bit to test out for some smaller business usage (sorry guys, I’m not buying thousands of dollars of software just because you show me a best case demo), and it’s not a bad solution for Windows devices. You can set up unattended access very easily, there’s no real limit to the connection speed regarding subscriptions, and you can utilize privacy features when doing work and lock out the local user so they can’t “assist” you when you’re attempting to fix something.

Typically I just black out the screen and tell them to go get a coffee or a smoke or something and I get to work. Some other remote desktops have these features, but they should honestly be standard in all remote solutions.

Connection & Responsiveness

Typically I had ~2Mbps to ~6Mbps when a lot of motion or images were flitting about the screen; however, it mostly stayed around 1Mbps when doing office work with jumps to ~2Mbps when scrolling through a text document. Videos were around anywhere from 12-40Mbps going outbound.

CPU usage is pretty bad when viewing 1080p video in a window.

Watching video through Anydesk is possible, but you better have a decent processor for anything over 720p on Youtube as there doesn’t seem to be really any hardware acceleration going on. My Kaby Lake i5 8500T was tapping out with a non-fullscreened 1080p video on Youtube going through Anydesk causing some stutter here and there.

The connection is pretty quick on a local connection, nothing to complain about, but I wouldn’t use this for doing precise mouse clicks. It has a couple dips and stutters that might make that extremely frustrating.

User Interface

The free version is good enough for people who have around 10-20 connections. I particularly enjoyed the renaming feature built right into the recent sessions without having to need an address book. The Discovered section works exceptionally well on a local network with no configuration.

Things I Liked

  • The UI is responsive and uncluttered
  • There’s a phone app and it works relatively well
  • It’s relatively fast and very easy to set up for a decently secure connection
  • File Browser built-in
  • Monitor switching

Things I Didn’t Like

  • Closed source and close to no documentation
  • At one point Anydesk stated that they were ‘monitoring’ connections (which they walked back)
  • No Wayland support expected
  • Messaging system feels useless
  • Local user shouldn’t be able to knock an Administrator out of a company’s computer by clicking a button
  • No real multi-monitor support


I think this is a really good software, you can’t beat free. However, if you’re going to be using this for remoting into Linux, I think there are better options out there as Anydesk has no current plans (they’ve flip flopped on this) for Wayland support.

I’d recommend it for quick setups on non-critical remote Windows systems, especially when Anydesk stated they’ve been monitoring connections. I remember a singular post on the Anydesk reddit said they used Anydesk throughout a couple sections of a Fortune 500 company and paid them over $100,000 a year for all of the seat licensing. They immediately agreed to swap their infrastructure over to something else; I don’t know if that’s real but hey, play stupid games, win stupid prizes I suppose.


Teamviewer is just one of those names in the industry that you hear everywhere. And the reason for that is because at one point, it was extremely good software in a solid package that was free to use.

Nowadays, Teamviewer’s pretty synonymous with scammers that try to get into your system under the guise of being a Microsoft, IRS, or Amazon employee.

An AppImage or a flatpak would be preferable to this tarfile for a universal package, but hey, it works.

Connection & Responsiveness

I was actually pleasantly surprised by Teamviewer’s performance. It was a fair bit better than Anydesk with no noticeable difference in quality from said remote program. However, I will state that I did receive weird artifacts of black flashing on the window of the video that sporadically showed the desktop behind the window.

The responsiveness was perfectly fine; if I had to nitpick, it was definitely slightly slower in responsiveness compared to Anydesk. The connection was a bit more stable with less valleys and mountains. On average the connection was around 6.5Mbps and didn’t really go past that.

To be honest, I was completely surprised at the difference in resource usage.

User Interface

So, how is the user interface for TeamViewer? To put it bluntly, it’s serviceable. It’s definitely not my favorite design, and elements are segmented (vs Anydesk, which seems to have a much better handle on not needing notepad open to keep tabs of your remote numbers).

Honestly, some older FOSS programs have more modern UIs than this.

It’s alright, but not my first choice (if you couldn’t tell). It gets the job done and really that’s all that matters in the end, but I kinda expected more from the program that the fake IRS uses.

Things I Liked

  • Performance was pretty nice for the bandwidth used
  • Okay video playback

Things I Didn’t Like

  • Artifacting from the video window
  • No local address book in the client
  • Dragging of windows wasn’t very smooth
  • Security concerns brought up by security experts
  • The UI is something from 2010
  • The company really has issues


It used to be one of the definitive remote desktop solutions, now it just looks and feels like it’s being milked past its expiration date. I wouldn’t really recommend this one simply because of the parent company. There’s better solutions out there.


The Granddaddy of modern remote desktops, over the years it’s received a lot of upgrades and refinements that has made it probably the longest lasting mainstream remoting solution today.

Connection & Responsiveness

Just as a quick disclaimer, I used TightVNC server on the Windows machine with everything set to general settings (no extreme tweaking) for fairness.

I’ve been using VNC for around 20 years and it still impresses me to this day.

Would it impress you if I said that using the TightVNC server with the RealVNC client got me close to fluid 60FPS video playback on LAN? What if I told you that it was clean, crisp, and was using under 1Mbps of data while doing so? Well, obviously if you saw the previous image, you would rightfully call me a liar on the second part.

So what, I topped out at around 88 Mbps. Big deal, I wasn’t going to use that bandwidth anyways.

Now, you know I’m joking, but after limiting the server to medium settings in the RealVNC client, VNC was still pushing close to 90Mbps and was nowhere near as smooth.

Sure, it looks good as a still frame, but this video chugged on Medium.

I’m sure if I brought up another client I could tweak the hell out of it, but I wanted to keep this to a Joe Schmoe kinda thing: just install, input a password, and connect with Low/Medium/High settings. However, if you tweak VNC a bit, you can end up with much less extreme results that would fit your usage better. To be honest, I was pretty surprised that the CPU could handle throwing out 1080p frames at almost 90Mbps without stuttering to a crawl.

User Interface

I usually give VNC a pass for stuff like this because it’s usually the protocol that’s built into every other program on the block. A lot of times you’ll use Remmina or something similar, or you’ll just have a hard shortcut that runs CLi. Either way, I can’t really judge VNC because of just how widespread it is.

You can use Remmina or TightVNC, but I just wanted to show that RealVNC’s client looks and works fine.

That being said, I really like RealVNC’s simple but clean design for a VNC client. It’s easy to rename each connection and access them later. I do wish that there were groups to which you could assign each connection that would affect the sorting by label or recent connection, especially since there’s always that problem computer that you connect to the most.

Things I Liked

  • It works on everything and every OS (seriously)
  • Very low system requirements, even at the higher end
  • It looks absolutely gorgeous at ridiculous settings and is very responsive
  • It can run on dialup if need be and be stable at <50Kbps (trust me)

Things I Didn’t Like

  • It definitely requires far more tweaking than other solutions
  • When at the high end, you can probably saturate a dedicated gigabit connection


As long as you’re tweaking VNC correctly you shouldn’t run into any issues, and it can run on some very low spec devices at very low bandwidths and still be usable. In fact, I’ve gotten VNC to work on dial-up over 40-year-old patched phone lines that didn’t hit 28.8Kbps. I really wouldn’t recommend just throwing in a dedicated gigabit line for a real-time desktop on any machine, though. Sure, it’s funny, but there’s better options than that.

NoMachine (NX)

NoMachine is one of those weirder programs that I’ve seen recommended from time to time, but not nearly as much as VNC, Anydesk, or straight RDP. Hell, I think I’ve seen X11 forwarding recommended more often than NX.

Connection & Responsiveness

I was extremely surprised at just how responsive the system felt as a whole. It wasn’t quite native speeds, but it also wasn’t that far off. Furthermore, given that we’re running at default settings, I’m surprised at just how optimized this is.

Just check out that minimal resource usage.

Watching a 1080p video gave me a decent viewing experience while not pushing the CPU past 40%. The GPU is hitting around 50% utilization, however with how responsive the system is, I’d be okay with that. Lastly, I think there’s some decent tweaks that could be done with another client to really dial in the connection.

I will also state that there is definitely some kind of compression happening here; the colors seem a tad less dynamic and the image isn’t quite as sharp as Anydesk. It’s more than capable, however, and considering the fact that it’s doing this under 10Mbps, that’s frankly incredible.

User Interface

The user interface for the official NoMachine client is pretty good, I’d say better than decent, but nothing exceptional. You do, however, get the option to change your fonts to make them larger and stop you from having to squint if you have tired eyes.

I find the GUI to be a little endearing, though I wish the default buttons were a bit bigger.

The settings menu really caught my eye. There are a lot of different functions here that I would find myself adjusting or tinkering with to suit me better. Shortcuts and hotkeys are available, the appearance can be changed along with where you store downloaded files, and a bunch of other stuff.

The options cover a wide variety of settings that you’d commonly need.

Things I Liked

  • The great resource utilization
  • The UI is very pragmatic, if just a bit small
  • The careful balance between quality and usefulness

Things I Didn’t Like

  • The lack of performance-tweaking options
  • Stability of the client seems flakey on certain connections


NoMachine surprised me with a decent showing, it feels solid and I can see why people prefer it compared to other solutions. It’s fast, it’s responsive, and it looks like it could operate fairly well in limited conditions.


RDP is built into every Windows machine above Home, literally less than 10 clicks and you can have RDP fully running on your workstation and be able to connect in using a bunch of different clients. It’s also available as a remote display for Linux computers.

In this situation, I had already set up my machine previously with RemoteFX and everything else. The connection was using AVC420 in stead of AVC444. I used Remmina defaults to connect, letting the server control the connection. I know I’ve been using more general settings for everything else, but I was curious how my own solution stacked up.

Connection & Responsiveness

It’s fast and easy to connect, it’s relatively secure on LAN where you have total control of the environment, but over the internet I’d probably encrypt the connection through a VPN. Responsiveness isn’t bad, but it can feel a bit like moving your mouse through sludge sometimes as you wait a fraction of a second for the cursor to catch up to your movements.

User Interface

Yes, I know, I’m a pragmatic purist for my own uses. Nothing wrong with using Remmina though. By the way, the tests were using 1080p, not 1440p.

You can use Remmina or another client, but I just typically use a shortcut on the desktop for mine. Using CLi isn’t really a user-friendly option like Anydesk or Teamviewer, though. Especially when you find out that FreeRDP on Fedora isn’t built with h264 encoding flags.

Remmina supports Spice, VNC, RDP, X2Go and others, and is a very easy solution to use.

Things I Liked

  • Very clean, probably the most crisp image besides the 900Mbps VNC stream
  • Built into Windows
  • Open Source
  • Ability to use RemoteFX and RemoteApp
  • Shared Folders is a godsend
  • Clipboard sharing is mandatory for a remote client

Things I Didn’t Like

  • It’s just not that smooth without really giving it a lot of processing power and tweaking the absolute hell out of it
  • Default RDP settings are good for static work, anything dynamic and the connection hitches
  • 1080p is about where RDP becomes inefficient from my own experiences on hardware like this
  • Certain commands for FreeRDP are kinda locked to CLi instead of a GUI like Remmina
  • (Not applicable to this article) RDP on Linux itself is meh vs other options in my opinion


Now, when looking at purely a Linux to Windows connection, it’s a decent remote desktop protocol, especially for office work. I would say that if you’re not using RemoteFX and trying to do real-time 3D work, RDP is an extremely efficient protocol for operating office and non-intensive workloads over LAN or a VPN.

Chrome Remote Desktop

I’ve never tried Chrome Remote Desktop before this article, but I can certainly see the appeal of linking a computer to your Google account for easy remote access. After all, Google accounts are extremely common; what are the chances that someone you know doesn’t have one in the business world?

Connection & Responsiveness

The connection itself only took around 5 seconds to establish, and the desktop and was crystal clear from the get go. The total resource usage was acceptable and the bandwidth drifted between 5-10Mbps for desktop usage all the way up to 80Mbps for media consumption.

The video itself was a bit choppy with some less intensive sections smoothing out. The quality was better than NoMachine’s solution; however, there was definitely more bandwidth being used and CPU usage would skyrocket during some scenes, leaving me to wonder just how efficient this solution actually was.

As you can see, the CPU usage shot up to 100% for a short while during a very intense scene of movement. The GPU always stayed around 65% and the bandwidth got up to around 80Mbps.

Responsiveness in and out of the video was delayed by around half a second as the session caught up to the user’s inputs. This was mostly when dragging windows around or during big movements or intensive operations. I didn’t try this solution in a photo editor, but I’m assuming it’d be just as bad, if not worse.

User Interface

Chrome Remote Desktop has a web interface that links to your Google account.

The settings menu covers the basics of settings that you’d find in most other remote desktop solutions. You can configure your keymaps and shortcuts as well as a relative mouse mode. Though as stated before, I wouldn’t use this for heavy media or gaming.

Things I Liked

  • Easy to set up
  • Works anywhere
  • Picture was very clear and crisp with little degradation

Things I Didn’t Like

  • Performance left a lot to be desired
  • It’s hooked up to Google’s services
  • Response times were probably some of the worst when things were intensive

I was pretty disappointed by Google’s offering. Maybe it somehow works better with Windows, I’ll have to try this again at some point. But with how much bandwidth this solution sucks up, I’d recommend NoMachine over this. That’s not even getting into what kind of data Google is pulling from your machines when you use this “free” service of theirs.


My new administration tool for Linux, Mac and Windows devices. Not even joking, this tool is fantastic for those just getting into the space, or for those that don’t need high performance graphics over remote sessions.

Connection & Responsiveness

I’ll be honest, it’s not exactly the fastest solution on the internet. But I would still put response times slightly above Chrome Remote Desktop, which is kinda amazing honestly. The connection itself definitely feels like a VNC clone from the compression artifacts I was receiving on the Minimal graphics setting. Which is perfectly fine,

DWS Maximum Settings
DWS Minimum Settings

Between the ‘Maximum’ and the ‘Minimum’ settings there’s a stark difference in quality, with Maximum being extremely clear (though not quite as clear as VNC or RDP, but definitely more than NoMachine). The tradeoff is that the video is an absolute slideshow, but if you notice the difference between the settings, there’s not a stark difference between the CPU and GPU usage. The difference in bandwidth isn’t really clear either from my viewpoint.

DWS Minimum Settings on the Desktop

If I had to bet what they were using, it’d have to be some sort of VNC remote with some Windows/Linux integrations in the agent. I’ve used VNC a very long time, and those banding artifacts look to me like VNC artifacts from a while ago. Honestly, if they were to introduce a simple noise or dithering effect to the end user, the connection would have much less banding and probably look very acceptable.

The response rate is not all that good; I don’t quite know why, maybe it’s because it’s being routed through their servers? Either way, it’s something that should definitely be addressed, because while I love the rest of the features, having a somewhat decent remote desktop tool packaged in DWService would be incredible. I’m not saying it’s not serviceable, but with the bevy of options available to me, and the performance I can get out of low bandwidth FOSS projects, I’m expecting better responsiveness so I can get in and out and continue with my day.

In fact, if I could be so bold, I’d love a local LAN connection option, so if I want to connect to something in my own network I can establish the connection through DWService if needed and use my own bandwidth for filesharing and remote desktop.

User Interface

This is a major plus for DWService. The web app performs great, it looks good, and I can access everything with ease. The fact I can have multiple tabs open for different jobs, groupings for home and work, and the ability to transfer files all in the same interface is nothing short of incredible.

The web interface is clean, professional, but not sterile.
The ability to access files without having to disturb someone on the PC is also a godsend.

This is a no-nonsense program for those that either do this for a living, or are power users that don’t need frilly options to get their work done.

The DWAgent itself, however, could use a bit of work and expanding.

I think my biggest issue lies with the DWAgent itself. Why can’t I change and control individual settings? Why can’t I say “screw image quality” set my display to 256 colors and try to get the most responsive connection possible?

Things I Liked

  • The service itself is free with no caveats
  • The code is FOSS
  • There are no ads and you’re not the product
  • The DWAgent operates more like a remote admin tool, rather than just a consumer remote desktop solution
  • Infinite devices and groups to manage them
  • A performance monitor built into the tool
  • The subscription tiers and the adamant position that “You don’t need this”
  • The setup was extremely intuitive and worked instantly

Things I Didn’t Like

  • The Remote Desktop is just too unresponsive to compete
  • No local connections to DWAgents for privacy
  • No configurable settings in the DWAgent for tweaking performance values


Man, we’re so close to greatness with this one. I love this tool and I’ve only been using it for a few days as of starting this article. However, the largest problems lie with the DWAgent not being able to adjust certain parameters on the host machine or the remote desktop itself. Having a responsive remote desktop is paramount nowadays, and I really hope that they are able to update this and figure it out.

The End

Well, it’s been a fun article, and I genuinely hope you enjoyed it as we took a trip through various remote desktops. I plan on updating this fairly soon with Parsec and Steam Streaming sometime in the future when Parsec does its full move over to FFMPEG and we get hardware decoding back in Linux, so keep an eye out for that.

If I forgot one of your favorites, let me know down below what I forgot and why you use it. Thanks for reading and have a great rest of your day!

Leave a Comment

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