Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend persist/restore_token concept to RemoteDesktop #850

Closed
bjaraujo opened this issue Aug 5, 2022 · 3 comments · Fixed by #1004
Closed

Extend persist/restore_token concept to RemoteDesktop #850

bjaraujo opened this issue Aug 5, 2022 · 3 comments · Fixed by #1004
Assignees
Labels
new api This requires adding API to an existing portal

Comments

@bjaraujo
Copy link

bjaraujo commented Aug 5, 2022

File "/usr/lib/python3/dist-packages/dbus/connection.py", line 652, in call_blocking
reply_message = self.send_message_with_reply_and_block(
dbus.exceptions.DBusException: org.freedesktop.portal.Error.InvalidArgument: Remote desktop sessions cannot persist

It would be important to remotely access unattended machines.

@GeorgesStavracas GeorgesStavracas added the new api This requires adding API to an existing portal label Dec 12, 2022
@jadahl jadahl self-assigned this Feb 2, 2023
@marler8997
Copy link

marler8997 commented Feb 13, 2023

This would be a welcome addition to a "pair programming" application I work on. It aims to make pair programming remotely as seamless as possible. It's common for users to switch who is "hosting" (the one sharing their screen) throughout a pairing session. Having to give permission to our app each time the "host user" changes makes the transition less seamless. Using a restore token means users could switch who is sharing their screen multiple times without having to ask the user for the same permissions each time.

@jadahl
Copy link
Collaborator

jadahl commented Feb 13, 2023

I'm currently looking into how it can be done. The idea I have now is to use the same restore token like API that ScreenCast has, but make it part of SelectDevices. When used with SelectDevices, it'd also restore the screen cast source, in addition to devices, and and store the permission/source data in a remotedesktop permission store table, in contrast to the screencast table.

jadahl added a commit to jadahl/xdg-desktop-portal that referenced this issue Apr 14, 2023
This adds persistent remote desktop sessions similar to persistent
screen cast sessions. What it means is that applications can ask for
sessions to be "saved" either temporarily in the portal, or in the
permission store, and later be restored at will, without any interactive
dialog showing up.

It works the same way, by the Start() method returning a restore token,
and similarly to the screen cast variant, passing the same restore token
to the SelectDevices() method the next time.

Closes: flatpak#850
@jadahl
Copy link
Collaborator

jadahl commented Apr 14, 2023

See #1004.

jadahl added a commit to jadahl/xdg-desktop-portal that referenced this issue Jul 11, 2023
This adds persistent remote desktop sessions similar to persistent
screen cast sessions. What it means is that applications can ask for
sessions to be "saved" either temporarily in the portal, or in the
permission store, and later be restored at will, without any interactive
dialog showing up.

It works the same way, by the Start() method returning a restore token,
and similarly to the screen cast variant, passing the same restore token
to the SelectDevices() method the next time.

Closes: flatpak#850
jadahl added a commit to jadahl/xdg-desktop-portal that referenced this issue Jul 13, 2023
This adds persistent remote desktop sessions similar to persistent
screen cast sessions. What it means is that applications can ask for
sessions to be "saved" either temporarily in the portal, or in the
permission store, and later be restored at will, without any interactive
dialog showing up.

It works the same way, by the Start() method returning a restore token,
and similarly to the screen cast variant, passing the same restore token
to the SelectDevices() method the next time.

Closes: flatpak#850
jadahl added a commit to jadahl/xdg-desktop-portal that referenced this issue Jul 13, 2023
This adds persistent remote desktop sessions similar to persistent
screen cast sessions. What it means is that applications can ask for
sessions to be "saved" either temporarily in the portal, or in the
permission store, and later be restored at will, without any interactive
dialog showing up.

It works the same way, by the Start() method returning a restore token,
and similarly to the screen cast variant, passing the same restore token
to the SelectDevices() method the next time.

Closes: flatpak#850
GeorgesStavracas pushed a commit that referenced this issue Jul 13, 2023
This adds persistent remote desktop sessions similar to persistent
screen cast sessions. What it means is that applications can ask for
sessions to be "saved" either temporarily in the portal, or in the
permission store, and later be restored at will, without any interactive
dialog showing up.

It works the same way, by the Start() method returning a restore token,
and similarly to the screen cast variant, passing the same restore token
to the SelectDevices() method the next time.

Closes: #850
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new api This requires adding API to an existing portal
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants