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


_______________________________________________
desktop-devel-list mailing list
desktop-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

Reply via email to