This answer originates from Rob Calistri's comment in François Beaufort's G+ post. Due credit to the source. If you've updated Ubuntu (or Ubuntu Gnome) recently, instead of a blank screen, you likely see just wallpaper without any panels when connecting via Chrome Remote Desktop. This modification forces Chrome Remote Desktop to use the existing X Server instead of creating new desktops.
After installing the Debian package chrome-remote-desktop_current_amd64.deb
, make sure the current user is part of the chrome-remote-desktop
group:
sudo usermod -a -G chrome-remote-desktop username
Stop Chrome Remote Desktop:
/opt/google/chrome-remote-desktop/chrome-remote-desktop --stop
Backup the original configuration:
sudo cp /opt/google/chrome-remote-desktop/chrome-remote-desktop /opt/google/chrome-remote-desktop/chrome-remote-desktop.orig
Edit the config file (sudo vim
, gksudo gedit
, etc):
gksudo gedit /opt/google/chrome-remote-desktop/chrome-remote-desktop
Find DEFAULT_SIZES
and amend to the remote desktop resolution. For example:
DEFAULT_SIZES = "1920x1080"
Set the X display number to the current display number (obtain it with echo $DISPLAY
from any terminal). On Ubuntu 17.10 and lower, this is usually 0
, and on Ubuntu 18.04, this is usually 1
:
FIRST_X_DISPLAY_NUMBER = 0
Comment out sections that look for additional displays, as shown here:
#while os.path.exists(X_LOCK_FILE_TEMPLATE % display):
# display += 1
Reuse the existing X session instead of launching a new one. Alter launch_session()
by commenting out launch_x_server()
and launch_x_session()
and instead setting the display environment variable, so that the function definition ultimately looks like the following:
def launch_session(self, x_args):
self._init_child_env()
self._setup_pulseaudio()
self._setup_gnubby()
#self._launch_x_server(x_args)
#self._launch_x_session()
display = self.get_unused_display_number()
self.child_env["DISPLAY"] = ":%d" % display
Save and exit the editor. Start Chrome Remote Desktop:
/opt/google/chrome-remote-desktop/chrome-remote-desktop --start
Caution: When this answer was originally written for Ubuntu (Gnome) 14.04 in February 2015, there existed an issue where Chrome Remote Desktop somehow caused deja-dup-monitor to go wild and consume all of your system memory (see launchpad bug). This made Ubuntu essentially unusable after connecting/disconnecting via Chrome Remote Desktop.
Update November 2016: The instructions have been amended based on further updates by Rob Calistri in the above-linked G+ post comments. With Ubuntu 16.04, the deja-dup-monitor bug appears to be resolved (it never exceeded 2.8 MiB of memory usage in my last test).
qdbus org.kde.ksmserver /KSMServer logout 0 0 0
for KDE.