Chrome Remote Desktop Support for GNOME/Wayland



Hi All,

(Please feel free to advise of appropriate mailing list if you think this doesn't fit here)

I am looking into supporting CRD for GNOME/wayland. CRD would be leveraging remote desktop APIs (along with screencast) as exposed by xdg-desktop-portal{,-gnome}. While experimenting with remote desktop APIs, I see that for enhanced security, an interactive dialog (relevant code: https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome/-/blob/main/src/screencast.c#L345-349) is always presented to the user to select sources/devices they want to allow to be remote controlled. Though this workflow would make perfect sense when a user is directly connected to the machine and is allowing someone remote to take control (e.g. to get help from IT) but it is less than ideal for a user who is trying to access their own machine remotely (e.g. accessing their work computer from home).

I would like to hear ideas from the GNOME community about how to best support the latter use case for remote desktop. Is there a secure way to bypass the dialog/prompt selectively for apps? There seems to be recent support for restoring the capture streams (if persistence was demanded previously by the user) using flatpak permission store: https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome/-/merge_requests/14 but remembering streams for remote desktop session is explicitly disallowed in the portal frontend (https://github.com/flatpak/xdg-desktop-portal/blob/master/src/screen-cast.c#L589-L594 -- though this doesn't seem to be GNOME specific). Is it reasonable to extend the stream restoration support to work for remote desktop sessions as well as pre-populating the permission store to allow remote desktop session (so that user intervention can be avoided)? Also, would pre-populating the permission store work for system installation of CRD or would only work for flatpak/sandboxed version of the app?

Looking at how other software/systems are supporting screen capture/remote desktop, we see wlroots/sway allows for configuring the output screen to capture in a config file (https://github.com/emersion/xdg-desktop-portal-wlr/blob/master/xdg-desktop-portal-wlr.5.scd#description). I believe Windows.Graphics.Capture APIs can also allow Win32 apps to capture a window/screen without user interaction.

Would love to hear thoughts from the community about the best way forward.

Thanks,
Salman




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]