remoting: Implement session chooser for Linux.
Chrome Remote Desktop on Linux sets up a dedicated virtual X server which runs its own desktop environment separate from any that the user may be logged into locally. Previously, we would attempt to launch a default session on boot. This had a few issues: 1. A full desktop environment would be running at all times, taking up resources even if the user only used CRD occasionally. 2. There was no guarantee that session we launched was the session the user wanted in CRD, especially when the system's default session might using a resource-hungry desktop environment. 3. Some desktop environments have trouble running multiple instances at the same time under the same user. This could result in detrimental effects when logging in locally, in some cases including not being able to log in locally at all after installing Chrome Remote Desktop. While all of these issues could be worked around by creating a custom ~/.chrome-remote-desktop-session file and customizing it appropriately, this was not very discoverable or user friendly. This patchset aims to address these issues by introducing a new session chooser that allows the user to pick from among the various session types installed on their machine. This chooser will appear by default when no custom session has been configured, but can still be overridden via /etc/chrome-remote-desktop-session or ~/.chrome-remote-desktop-session. By offering the user a choice of what session to launch, this addresses (2). It also addresses (1) and (3) because only the chooser dialog is launched at boot, and a desktop environment is only started when the user connects and selects a session type. Additionally, if the user logs out of their session, the CRD environment will return to the chooser, rather than immediately relaunching the full session. Change-Id: Iead83fdad0691384fcde66192ecbba832d03e2d1 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1775932 Commit-Queue: Erik Jensen <rkjnsn@chromium.org> Reviewed-by:Lambros Lambrou <lambroslambrou@chromium.org> Reviewed-by:
Jamie Walch <jamiewalch@chromium.org> Cr-Commit-Position: refs/heads/master@{#692302}
Showing
This diff is collapsed.
Please register or sign in to comment