Replies: 20 comments 68 replies
|
Use X11 if you need unattended access. |
|
Actually ...
That statement is not true. Gnome 47 permits unattended access. Scenario:
Then, from another external host:
Now, using an RDP client, you can connect to the just-configured Fedora 41 Gnome Wayland desktop via rdp. There is not a "select screen to share" popup; the gnome-remote-desktop service knows how to overcome that wayland request, and the user gets to view and interact with the remote desktop as expected. I think Rust Desktop just needs to do some extra work with |
|
Also getting this dialog. RustDesk 1.3.9 |
|
Hi everyone, I’d like to raise awareness and open a discussion regarding an ongoing issue when sharing screens in Wayland sessions (e.g., on Ubuntu with Mutter): the monitor selection is not remembered between sessions or reboots. Currently, when a remote desktop or screen sharing tool (such as a video conferencing app using xdg-desktop-portal) is used, the user is prompted to select a monitor every time. That selection is not persisted, even if the user regularly chooses the same display. issue on xdg desktop https://gitlab.gnome.org/GNOME/mutter/-/issues?show=eyJpaWQiOiI0MTU1IiwiZnVsbF9wYXRoIjoiR05PTUUvbXV0dGVyIiwiaWQiOjIyMjEzMH0%3D In this Mutter issue, the GNOME team clarified that this is not a bug in Mutter or Wayland itself. Instead, it is up to the application to implement support for restore tokens, as defined in the remote desktop portal documentation: "Yes, the application must use 'restore tokens' as documented by the remote desktop portal. See the restore_token property of SelectDevices() in https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.RemoteDesktop.html." Furthermore, to persist the monitor selection across reboots, the application must set: persist_mode = 2 (indefinite) However, the Mutter team also notes: "If that is done, but isn't working, then open an issue on https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome, where this is handled." This implies that even when an application correctly implements restore tokens and sets the persistence mode to indefinite, it may still fail due to a bug or limitation in the xdg-desktop-portal-gnome implementation. Suggestions Provide sample code or a working example that correctly implements restore_token with persist_mode: 2. Consider fallback mechanisms at the system level, or user preferences that allow monitor selection to persist even if the application does not explicitly support restore tokens. From a user’s perspective, this feels like a system bug — because apps on X11 generally remember the monitor without any extra logic. Clarifying the required responsibilities on both the app and system side would help developers and users alike. Is there any ongoing work to improve this UX or make restore token handling more consistent across apps? Thanks for all your hard work on Mutter, GNOME, and the Wayland ecosystem! |
|
For KDE users:
Caveats:
More info: https://develop.kde.org/docs/administration/portal-permissions/
In my case I just removed the deb package, followed the steps above, it worked and that's enough for me. Just checked using v1.4.0 to connect from Android to Kubuntu 25.04 and KDE 6.3.4. |
|
@anthonyaxenov thank you for your workaround described above. Worked great for me on my fedora silverblue based install. |
|
Hi, my Gnome got update to its last version, and X11 was removed. I think now I can only use Wayland. If I set in custom.conf to force X11, then it doesn't work. This means that currently RustDesk doesn't work with Gnome. Any workaround? |
|
Can I edit the systemd service file to have it fallback to X11 and bypass this until a permanent solution is found? Currently, tried with Flatpak as above (but not running KDE), and I want to keep my apt-installed version. Current service file: [Unit]
Description=RustDesk
Requires=network.target
After=systemd-user-sessions.service
[Service]
Type=simple
ExecStart=/usr/bin/rustdesk --service
# kill --tray and --server both
ExecStop=/usr/bin/pkill -f "rustdesk --"
# below two lines do not work, have to use above one line
#ExecStop=/usr/bin/pkill -f "rustdesk --tray"
#ExecStop=/usr/bin/pkill -f "rustdesk --server"
PIDFile=/run/rustdesk.pid
KillMode=mixed
TimeoutStopSec=30
User=root
LimitNOFILE=100000
Environment="PULSE_LATENCY_MSEC=60" "PIPEWIRE_LATENCY=1024/48000"
[Install]
WantedBy=multi-user.target |
|
It has been a while. I am still using Gnome/Wayland. Every time I connect remotely, it asks to confirm in the host computer, which defeats the point of using a remote access application. Just wondering if there's any workaround, or still stuck with this. |
|
I've been working on a solution for the Wayland login screen issue. It's working on my Arch Linux + GDM Approach: When the host is at a Wayland login screen, instead of rejecting the connection, the remote user Supports: GDM, SDDM, LightDM Branch: https://github.com/julianjc84/rustdesk/tree/julian/wayland-login-pam Writeup: Tested on Arch Linux with GDM (Wayland greeter) + KDE Plasma Wayland session. |
|
With Ubuntu 26.04 on the horizon (Wayland only), I am wondering whether there is a plan to incorporate fixes that would allow unattended access for Rustdesk on Wayland-based systems. Turning Wayland off will no longer be a viable workaround for headless Ubuntu users. I am curious whether others in the community are facing this issue as well. I have also noticed that Ubuntu-flavored Rustdesk receives special mention in the downloads page table. Is it reasonable to interpret this as the developers giving special attention to Ubuntu over other Linux distributions? For context, I am a Pop!_OS (Cosmic) user, so I expect I will have some additional configuration to manage regardless. However, it seems worth flagging that the upcoming Ubuntu LTS release will introduce this significant change, potentially rendering the standard Ubuntu .deb unable to provide headless access without additional configuration or workarounds. |
|
Same problem, I don't even know if it's possible to switch back to X11 with 26.04 installed |
|
On my side, I replaced gdm by light-dm and I switched back in xfce |
|
KDE is also going Wayland-only, so x11 is no longer a escape goat for this problem. |
|
This has been a lingering problem for over 2 years now. I like the features of Wayland, but the poor remote desktop experience is going to drive A LOT of business and users back to Windows. Virtual Desktop Infrastructure just isn't going to deal with this kind of friction. |
|
Any proper solution to this yet? Don't really want to use flatpak |
|
Kubuntu 26.04 plasma to Kubuntu 26.04 plasma
rustdesk-1.4.8-x86_64.deb both ends
H265. Ethernet direct IP
Hi everyone
There seems to have been some progress: the screen to be shared need be
selected only once during the first time you connect, after which it is
selected without a prompt. Well, not quite without prompt as the prompt
to choose the screen to share still appears, but only momentarily, after
which the screen originally selected after the first connection is
displayed.
Another inconvenience is that if you're headless at the server, you need
one of those pass through HDMI/DP adapters so that you can connect a
physical display for the first connection. Otherwise of course, you
can't see which screen to choose. Alas, using a second native HDMI/DP to
connect a physical screen to enable to choose which display to share,
asks each time; it seems that it has to be the port into which the
adapter is connected.
JTOL: I wonder if there is a way to respond to the screen choice prompt via ssh?
HTH and thanks to the rustdesk team for persevering this far with Wayland.
Steve
|
A working recipe for unattended Wayland access: GNOME Remote Desktop (Remote Login) + Tailscale + an RDP clientIf you landed here because RustDesk keeps throwing the "select the screen to be shared" picker and can't reach a locked GNOME/Wayland box, this is the setup that finally gave me genuine unattended access. It sidesteps the screencast portal entirely. Why the portal path is a dead end (briefly, since most of this thread already knows): while the session is locked, mutter refuses to create or restore any portal screencast ( The fix is GNOME Remote Desktop's system "Remote Login" over RDP (GNOME 46 or newer). It uses mutter's privileged remote-desktop API rather than the portal, so it works at the GDM login screen and is never inhibited by the lock shield. You then reach it from anywhere over a Tailscale mesh, using any ordinary RDP client. Below is the whole thing in order: set up the host, put it on Tailscale, set up each client, then the routine you run each time you connect. Part 1: Host (the Linux machine you want to reach)1a. Enable Remote Login. On GNOME 48+ there is a toggle: Settings > System > Remote Desktop > Remote Login (distinct from "Desktop Sharing", which is the portal path you want to avoid). On GNOME 46/47, or if you prefer the command line, use Two things worth understanding about what you just started:
1b. Remove conflicts. If Part 2: Put the host on TailscaleTailscale gives every device a stable private address on a mesh VPN, so you never expose RDP to the public internet and you don't need port forwarding or a static IP. On the host: Firewall. If you run If you prefer to be specific, allow The host is now ready and both services auto-start on boot, so nothing needs doing at the machine before you leave. Part 3: Set up each client device (one-time)You install two things on every client: the Tailscale app (signed into the same account, so the host appears in its device list) and an RDP client. Then you save the connection so future use is two taps. Windows
Android
iPhone / iPad (equivalent)
Linux laptop (equivalent)
On the first connection from any client you will get a certificate warning because the cert is self-signed; accept it once. Part 4: Connecting remotely (the routine each time)
That is it. From a phone it is: flip Tailscale on, tap the saved PC, type your unlock password. Gotchas that cost me time
It is less turnkey than RustDesk's built-in NAT traversal, since you supply the VPN yourself, but it is the only approach I have found that gives real unattended access to a locked GNOME/Wayland machine, and it is an officially supported mechanism rather than a workaround. |

Uh oh!
There was an error while loading. Please reload this page.
Bug Description
I have been using Rustdesk for around a year. Very recently I have been having a problem that doesn't let me connect remotely. I use Gnome, and I guess I also use Wayland.
It has always worked OK, but now when I try to connect to the remote computer, it says
"WAYLAND Select the screen to be shared".
Of course I cannot do this since the remote computer is miles away.
Nevertheless I went in person, and I could see a Wayland message appeared in the remote computer about letting access, so I clicked yes, and it worked fine.
But when I went away and tried to connect remotely, then Rustdesk did not work. It was either saying that the server is offline, or it was saying it is online, but requesting again to select the screen to be shared.
It seems I need to be in person to select a screen, and this only works once. Once I go away it will not connect.
I am not sure if this a Rustdesk or a Wayland issue. To the best of my knowledge I haven't changed anything. This new behaviour happened suddenly.
How to Reproduce
I use Archlinux with Gnome, fully updated. Rustdesk is also fully updated. I open Rustdesk and I click to connect, as usual, and the above behaviour happens.
The computer I am trying to connect is running ArchLinux, Gnome. The computer I am using to try to connect is using the same (Linux/Gnome). But I have tried to connect using Windows 11 and also OSX, with the same problem happening.
Expected Behavior
It should enable me to connect.
Operating system(s) on local (controlling) side and remote (controlled) side
Linux -> Linux
RustDesk Version(s) on local (controlling) side and remote (controlled) side
1.3.2 - 1.3.2
Screenshots
Additional Context
No response
All reactions