this post was submitted on 16 Oct 2026
34 points (94.7% liked)

Selfhosted

63012 readers
1720 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

Hello,

I stopped using TeamViewer a very long time ago. Since then, I’ve been using DWService and I’m quite happy with it. I like the fact that I can access to the terminal without launching any graphical component on the machine (which is handy for my headless servers, and allows me not to open SSH port). I also like the fact that it works even if my VPN server is down, as I can access remote servers that aren’t accessible via the web when they’re no longer reachable through my VPN.

However, there are a few issues that are bothering me more and more. I’ve switched my mum’s computer to Fedora and, whilst it worked perfectly under Windows, remote control is very buggy under fedora because the connection isn’t great. Furthermore, it’s impossible to access the screen if the computer isn’t unlocked.

So, I’d really like to find a solution that meets my criteria:

  • Accessible via a web browser
  • Ideally open-source
  • Free
  • Ideally self-hostable, but I’m worried that if, for example, my reverse proxy or VPN crashes, I won’t be able to access my machines to debug them?
  • Allows access to servers without a monitor
  • Allows access to computers running Fedora without the need for prior unlocking

Thanks!

top 29 comments
sorted by: hot top controversial new old
[–] miaowoo_lw@lemmy.world 1 points 1 hour ago

Since you're on Fedora + Linux only (so no TeamViewer/AnyDesk-style proprietary clients), here's how I'd map your criteria:

For the mum's Fedora desktop (the GUI/screen case):

  • Rustdesk — open source, browser-ish clients (there's a web client), self-hostable relay. Fedora Wayland support has matured a lot; for the locked-screen problem you need to enable autologin on the target (Wayland logind screen locks are what block most tools) or use a greeter-level unlock. If you control her machine, just setting autologin + a locked wallet/bios is the practical answer every remote tool needs anyway.
  • Apache Guacamole is the true "browser-only, self-hosted" answer: it proxies VNC/RDP/SSH through a web page. On Fedora run xrdp (RDP backend) + Guacamole in Docker, and you get full desktop-in-browser even on the lock screen (RDP sessions get their own login prompt — no unlock problem at all). This directly solves your "can't access the screen if not unlocked" complaint.

For headless servers (keep what you have):

  • DWService's real value in your setup is the out-of-band rescue path. The open equivalent people pair it with is Tailscale as the always-on layer + SSH — Tailscale's free tier needs no open ports and works when your VPN/reverse proxy is dead because it IS the VPN, coordinating via their hosted control plane (or self-host Headscale if you want zero third party).
  • Your worry about "reverse proxy/VPN crashes and I can't reach the machines" is the right one — the standard answer is a separate out-of-band path: a cheap ESP32/Pi on the same LAN running Tailscale (or a phone hotspot + Tailscale on a USB stick), so the rescue path shares no components with the primary path. That single rule fixes 95% of lockouts.

My honest recommendation: Guacamole for the human-usable browser desktop (RDP backend → lock screens stop mattering), Tailscale + SSH for everything headless, and one tiny always-on rescue node that can't fail with the main infra.

[–] Pomal@sh.itjust.works 23 points 1 day ago (2 children)
[–] nik282000@lemmy.ca 2 points 1 day ago

Guacamole in an LXC container and a virtual desktop in another.

Requires no client side software, supports totp, lets me do remote admin on weird stuff like printers and home routers.

[–] jaycifer@lemmy.world 2 points 1 day ago (2 children)

Thank you! I was just looking through the recommended software list linked in the community sidebar yesterday and this wasn’t on there. I was going to try setting up MeshCentral this weekend, how does this compare to that?

[–] dogdeanafternoon@lemmy.ca 2 points 1 day ago

I don’t know much about guacamole, but if you have intel CPU, MeshCentral can tap into vPro and you can turn on your computer remotely, with very minimal setup.

The downside to MC is it’s not super stable. Sometimes I can’t connect to an agent, and need to reinstall before I can connect. Not a huge issue, but slightly annoying.

[–] Pomal@sh.itjust.works 1 points 1 day ago (1 children)

I have absolutely no idea. I just run this over wireguard and call it a day.

[–] jaycifer@lemmy.world 1 points 1 day ago

Fair, I’d call “just running it” a point in its favor, and now I have something to do further research on!

[–] 7EP6vuI@feddit.org 9 points 1 day ago (2 children)

why don't you want to open an ssh port? what's wrong with that?

just disable password authentication, and maybe get fail2ban. am i missing something?

[–] neidu4@piefed.social 15 points 1 day ago (1 children)

Optional extra, which I do: Change the SSH port to something non-standard. It's not more secure, but it does cut down on the logspam.

[–] nibbler@discuss.tchncs.de 3 points 1 day ago

I'd argue it's even more secure, as it reduces the amount of attacks you are exposed to. For targeted attacks it changes absolutely nothing. But it keeps you our of a few DBs and spares some brute force attacks.

[–] SanPe_@lemmy.world 5 points 1 day ago (2 children)

Essentially, log spam… But also an irrational fear of a security breach.

[–] lntl@lemmy.ml 14 points 1 day ago (1 children)

IMO ssh is the tool you're describing. My ssh server is exposed to the WAN and is configured like this:

  • set to a random port to reduce spam (completely eliminated it for me)
  • set PasswordAuthentication no
  • set PermitRootLogin no
[–] 7EP6vuI@feddit.org 1 points 1 day ago (3 children)

why no root login? how do you become root if you need it?

[–] lntl@lemmy.ml 7 points 1 day ago* (last edited 1 day ago) (2 children)

root is a user account that has all privileges and is what bots are programmed to probe, so exposing it introduces unnecessary risk. IMO there's no reason to permit root login via ssh in any circumstance, ever, in all cases, absolutely.

For all the people thinking, "well the world doesn't work in absolutes, there's always a special case!" There isn't.

If a user needs to use elevated permissions, there are many ways to do that without exposing root. sudo(8) is one way to do that.

[–] DougPiranha42@lemmy.world 5 points 1 day ago

Thanks for the great explanation! Seems like because logging in as root is never necessary and indeed never done; people confuse sudoer for root login.

[–] 7EP6vuI@feddit.org 1 points 1 day ago

do you use sudo with a password? this and the unknown username is what get as additional security then?

[–] Guiorgy@lemmy.ml 1 points 1 day ago (1 children)

Without root user login, the attacker would have to guess not only the password to the user but also the username (hopefully it's not something simple like admin), and once you are logged in you can use sudo -i to chage into root, which will require a password, therefore, we also disable password login so if someone does manage to somehow compromise the SSH user, they'd still need the password to become root.

[–] 7EP6vuI@feddit.org 1 points 17 hours ago (1 children)

guess not only the password

what password? shouldn't we all use ssh-keys by now?

[–] Guiorgy@lemmy.ml 1 points 4 hours ago

Did you read it to the end?

[–] lewy@lemmy.world 1 points 1 day ago

sudo -i is what I would do or su root if your other user is not a superuser.

[–] Guiorgy@lemmy.ml 1 points 1 day ago* (last edited 1 day ago)

You could spin a publicly exposed WireGuard daemon firewalled to allow peers access to the non-public SSH port only, which would result in double encryption, but would give you the peace of mind that an attacker would have to compromise both at the same time, which is very unlikely. Plus, WireGuard is very cheap to deploy and produces no logs. We use that model in my office to access our server.

Edit: Otherwise, as others mentioned, you'd move the SSH daemon to a random port, disable password login and weaker keys and cyphers, setup Fail2ban, and optionally setup GeoIP blocking (only allow IPs from your region to connect).

[–] Cerothen@lemmy.ca 6 points 1 day ago (1 children)

For remote access I use two solutions that both have the features your looking for.

The first one which I have used for longer than I can remember is MeshCentral https://github.com/Ylianst/MeshCentral

This one works great, is web based, let's you access a shell, or you can make port tunnels been agents, access RDP or vnc in the web UI, the file system etc.

it's a really great one stop shop that more than covers what you're looking for.

The second is RustDesk https://github.com/rustdesk/rustdesk with the betterdesk server and web UI https://github.com/UNITRONIX/BetterDesk

This one scratched my TeamViewer itch and weekend pretty well. It's newer than MeshCentral and not as easy to setup however on top of the web client it's got apps which in my opinion provide a better experience for remote desktop access than MeshCentrals novnc client especially around copy paste.

All in all, of your looking for something ultra easy I recommend MeshCentral, it's minor quirks around novnc are so easy to overlook since it just works so well.

If you want a modern TeamViewer then go with RustDesk/betterdesk but it's newer and needs some extra work to get going.

All these projects are open source, free, self hostable, has headless file and terminal access, and have web clients.

For using Linux on any remote solution you pretty much have to run the desktop on x11 instead of Wayland. I don't know if any software has found a great Wayland solution yet.

[–] CodandChips@lemmy.ml 1 points 1 day ago

Rustdesk seconded here, I found it fairly straightforward to setup on Mint. I previously had used TeamViewer and AnyDesk

[–] Decronym@lemmy.decronym.xyz 1 points 1 day ago* (last edited 1 hour ago)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
LXC Linux Containers
SMB Server Message Block protocol for file and printer sharing; Windows-native
SSH Secure Shell for remote terminal access
VNC Virtual Network Computing for remote desktop access
VPN Virtual Private Network

5 acronyms in this thread; the most compressed thread commented on today has 8 acronyms.

[Thread #132 for this comm, first seen 16th Oct 2026, 18:50] [FAQ] [Full list] [Contact] [Source code]

[–] mbirth@lemmy.ml 3 points 1 day ago (1 children)

A buddy just shipped a pre-configured Comet Q to their parents.

[–] SanPe_@lemmy.world 1 points 1 day ago

Waw. That's a bit expensive. But for my mom's computer that would be a nice solution.

[–] sj_zero@lotide.fbxl.net 2 points 1 day ago

Apache guacamole is really nice. Became a game changer for me.

[–] anzo@programming.dev 1 points 1 day ago

Don't worry about vpn failures. I have used headscale for a long uninterrupted time. Yes, eventually you may need physical access. That event is as frequent as having a broken boot partition :p be careful to read changelogs when applying updates or have some other means to access of you will... Just saying that for me it has worked perfectly fine.

Two tools I have been using to replace TeamViewer that check some of your boxes, but not all are:

  • Tailscale
  • RustDesk

Both free and widely used in the community for many of the purposes you’re looking for.

Both operate slightly different from each other. But to give you insight into how I use them:

I use Tailscale as a VPN into my house for stuff like Jellyfin remote viewing on my iPhone or laptop when not at home, SSH/RDP/SMB remote access into my home network and between my devices. I replaced my Docker VPN that was becoming tedious to manage with this and it’s been a lot better and easier to manage.

I use RustDesk for my family and friends who want my help like out of state relatives. It works just like TeamViewer but without the greed or stupid nags or limitations to force you to pay. It just works.

There’s some others like RustDesk others may recommend too. There’s a few others out there I’ve tried, but RustDesk has been great for me.

Haven’t used TeamViewer in over 5 years because of these and other similar services.