Skip to content
TENVO AI · LIVE · v0.16.4 · TLS · Per-device certs · AGPL-3.0 · FREE TIER · 30 DEVICES · SELF-HOSTABLE INFRA · BYO API KEY · MCP FOR CLAUDE & CURSOR
Back to BlogTutorial

Remote Desktop Multi Session: Set Up Simultaneous

Tenvo Editorial Team8 min read
Remote Desktop Multi Session: Set Up Simultaneous

Trying to support several users at once, run multiple GUI sessions on a server, or let engineers connect independently to the same host? "Remote desktop multi session" is where people run into OS limits, licensing headaches, and network complexity.

Trying to support several users at once, run multiple GUI sessions on a server, or let engineers connect independently to the same host? "Remote desktop multi session" is where people run into OS limits, licensing headaches, and network complexity. This guide walks through what multi-session actually means, platform tradeoffs, and concrete setup steps so you can run simultaneous sessions reliably and securely.

What “multi‑session” actually means

There are two different things people call “multi‑session.” Pick the one you need before you design a solution.

  • Multiple simultaneous connections to the same desktop session (shared screen) — multiple admins or helpers connecting at the same time to view/control the same logged‑in desktop. Tools: TeamViewer, AnyDesk, Tenvo and classic VNC variants. This is useful for co‑support and demonstrations.
  • Multiple independent GUI sessions on one machine (separate user sessions) — different users each get their own desktop sessions on the same host (like multiple RDP sessions on a Windows Server). This needs server OS support or a session manager that can create and map user sessions to different virtual displays.

Design and licensing choices follow from which of these you want. Shared console sessions are simple; independent sessions require server roles or Linux session daemons.

Platform differences and practical steps

Here's how the three major OS families behave and how you set up simultaneous sessions on each.

Windows (desktop vs server)

Windows desktop SKUs (Windows 10/11 Pro) are built to provide one interactive console session at a time. Multiple people can connect to that same console with third‑party tools, but you won't get independent user desktops without moving to Windows Server and Remote Desktop Services (RDS).

Windows Server (2016/2019/2022) supports multiple independent sessions via the Remote Desktop Services role. Key components are:

  • RD Session Host (hosts user sessions).
  • RD Connection Broker (maps users to sessions and supports reconnection and load‑balancing).
  • RD Web Access / RD Gateway (secure remote access through HTTPS).
  • RDS licensing: you need RDS CALs (per user or per device) — Microsoft enforces proper licensing for production multi‑session use.

High‑level steps to get multiple independent sessions on Windows Server:

  1. Install Windows Server 2019 or 2022 (these are current recommended server versions).
  2. Add the Remote Desktop Services role and necessary role services (Session Host, Connection Broker, Licensing).
  3. Configure Licensing mode and install your RDS CALs in the RD Licensing Manager.
  4. Optionally add an RD Gateway to avoid opening RDP (TCP/3389) to the internet and enable NLA (Network Level Authentication).
  5. Use DNS or load balancer in front of multiple RD Session Host servers and register the Connection Broker for session persistence.

When to use Windows RDS: you need profile persistence, application isolation, and proper user separation. If you only need a support technician to view/control a user's console, a remote support tool is simpler and needs no RDS licensing.

Linux: multiple independent sessions are straightforward

Linux desktops are flexible. You can run multiple X.org or Wayland sessions and present each via RDP (xrdp) or VNC. This makes independent sessions inexpensive and straightforward to scale.

Example: Ubuntu 22.04 LTS + xrdp + TigerVNC. This setup gives each user their own session on separate display numbers. Practical commands:

sudo apt update
sudo apt install -y xrdp tigervnc-standalone-server
sudo systemctl enable --now xrdp
# create users
sudo adduser alice
sudo adduser bob
# open firewall for RDP (or tunnel via SSH / VPN instead)
sudo ufw allow 3389/tcp

xrdp will map new logins to new sessions by default. If you prefer per‑display VNC ports, VNC uses TCP ports 5900 + display number (display :1 → 5901). For internet access you can put a reverse proxy, Guacamole, or a VPN in front of the hosts rather than exposing 3389/5900 directly.

Linux also makes it easy to automate session spawning, use LDAP/AD for user authentication, and store home directories on an NFS/SMB share when you need stateless hosts behind a load balancer.

macOS: limited independent GUI sessions

macOS is primarily a single console OS. You can do fast user switching and multiple observers via Screen Sharing or Apple Remote Desktop, but macOS generally doesn't provide multiple independent GUI sessions like Windows Server or Linux (without heavy hacks and unsupported server products).

If you need many independent GUI sessions, Linux or Windows Server are better choices. If the use case is remote support or shared screen viewing on a Mac, tools like Tenvo, TeamViewer, or VNC will cover that need.

Session brokers, load balancing and scaling

Running a few simultaneous sessions is one thing; running hundreds requires architecture: session brokers, load balancing, and centralized user directories.

  • Connection broker / session manager — Windows uses RD Connection Broker to direct users and maintain session state. For Linux, you can use Apache Guacamole as a web gateway or custom brokers (LB + sticky sessions) to balance users to hosts.
  • Load balancing — use DNS + load balancer or hardware NLB. Make sure the broker supports session reconnection/sticky mapping.
  • Profile storage — for roaming users, store profiles on a central file server (SMB/NFS) or use roaming profiles so sessions are consistent regardless of host.
  • Security — put RD Gateways, VPNs, or web gateways in front of the RDP/VNC endpoints; don't expose 3389/5900 directly to the internet unless you have controls in place.

For Windows RDS farms, the RD Connection Broker and RD Licensing server are mandatory at scale; for Linux fleets, centralizing authentication with LDAP/AD and using a gateway like Guacamole or a VPN is the usual pattern.

Practical Linux example: xrdp for multiple independent sessions

Here's a concise configuration pattern that works well for small teams who want separate sessions on one Linux box (Ubuntu 22.04 example).

  1. Install the packages (see earlier commands).
  2. Configure xrdp to use Xorg backend. Edit /etc/xrdp/xrdp.ini to ensure new sessions spawn as needed (default is OK for most installs).
  3. Create separate user accounts with adduser and set passwords.
  4. Use SSH tunnels or a VPN for remote access rather than exposing 3389. Example SSH tunnel from admin workstation:
ssh -L 33890:localhost:3389 youruser@remote-host.example.com

Then point your RDP client to localhost:33890. This lets multiple admins create different tunnels and connect without altering firewall rules. For an enterprise, replace SSH tunneling with a centrally managed VPN or a gateway like Guacamole.

When to use Tenvo (and how it fits)

Tenvo is an open‑source remote desktop tool that runs on a managed relay by default. For support and multi‑operator workflows that is the part that matters: you install a client on each endpoint instead of opening RDP or VNC ports, and the relay does the work of reaching machines behind NAT. The code is AGPL‑3.0, so running the relay yourself stays possible — it is simply not the path most teams need.

Use Tenvo when:

  • You need to support lots of different endpoints remotely without opening RDP ports on each device.
  • You want a managed relay to handle NAT traversal for you, instead of maintaining router rules or tunnels per site (see our guide to remote desktop without port forwarding). Running your own relay is possible too, but it only pays off when a requirement calls for it.
  • Your requirement is co‑support or shared access to the same desktop, rather than independent OS‑level sessions per user.

If you need fully independent user sessions (separate desktops per user) on Windows, RDS on Windows Server is the correct approach; Tenvo doesn't replace RDS licensing requirements. Running the relay inside your own LAN makes sense when a requirement obliges it — compliance language about third‑party infrastructure, isolated networks, or data‑residency rules that name a jurisdiction; our Self-hosted remote desktop: the honest 2026 guide walks that install and the running costs it carries. Absent such a requirement, the managed relay is the cheaper end of the deal.

Get the client from the downloads page and connect over the managed relay — no server of your own to stand up. Free is $0, Lite $2.99/mo and Pro $7.99/mo on pricing; if you are rolling this out across a support team, see the business plans.

Security and licensing checklist

Before you roll out multi‑session access, run through this checklist:

  • Is the session type shared console or independent sessions? Pick the correct architecture.
  • For Windows Server multi‑session: ensure you have RDS CALs and the RD Licensing role installed.
  • Block direct exposure of RDP/VNC ports; use RD Gateway, VPN, SSH tunnels, or a remote access gateway like Tenvo's relay.
  • Enable NLA on RDP hosts and require strong passwords / MFA where possible.
  • Log and monitor session activity — keep audit trails for who connected and when.
  • Use a centralized identity store (AD/LDAP) so user access can be revoked centrally.

For a deeper look at the security tradeoffs, see our article on remote desktop security, which covers hardening RDP and configuring gateways and MFA.

Troubleshooting tips

  • Connections fail? Confirm the session broker or gateway is reachable and DNS resolves correctly.
  • Users can't reconnect to their sessions? In Windows, check RD Connection Broker health and ensure the RD Session Host servers are registered with it. In Linux, check xrdp logs under /var/log/xrdp-sesman.log.
  • Performance issues under many sessions? Monitor CPU, RAM, and disk I/O; add more session hosts and use a load balancer or scale horizontally.
  • Firewall and NAT problems? Use SSH tunnels or Tenvo's relay to avoid complex port changes.

Wrap up — pick the right tool for the job

If your goal is co‑support or several people working with the same desktop, that is a remote support tool's job rather than a server role — and with Tenvo it runs over the managed relay, so there is nothing to open on the endpoint's network. How that lines up against the proprietary options is set out in our comparisons with TeamViewer and AnyDesk. If you need separate, independent desktops per user, plan on Windows Server RDS or a Linux multi‑session deployment (xrdp/TigerVNC or a web gateway like Guacamole).

There’s no one‑size‑fits‑all: Windows RDS is the correct enterprise choice for user desktop hosting and application delivery, and Linux is the cheapest route to independent sessions if you already run and maintain the hosts. Count the whole bill before calling it cheap — on‑call, patching, key storage, certificate renewal, one region with no failover. For reaching endpoints across NAT without per‑site network work, a managed relay at $2.99–$7.99 a month is usually the shorter arithmetic; see pricing.

Ready to try it? Download Tenvo and test the multi‑operator workflow on the managed relay — that is the default, and for most teams the story ends there; the tiers are listed on pricing. If a compliance obligation, an isolated network, or a residency rule means the relay has to be yours, our Self-hosted remote desktop: the honest 2026 guide covers the install and what it costs to keep running.

Get Tenvo

Ready to try it yourself?

Free for 30 devices, no credit card. Up and connected in two minutes.