Chrome Remote Desktop for Linux (Beta)

The following describes how enable desktop sharing via the Chrome Remote Desktop for Linux (Beta). This has been tested using "Lubuntu", Google Chrome and the Android application for the Chrome Remote Desktop app  (on a Moto G). 

It should be mentioned that security though considered, was not the top priority rather functionality was. Please take care and caution as there are security implications that you should understand before deciding to reproduce results. 

Additonal software used:

vino

xvncviewer

oneko <-- was orignally used util config setting was discovered for mouse settings now it not needed...

Apt-Get

sudo apt-get -y install vino xvncviewer 

The basic setup is as follows:

Firstly it is not desired to run the Chrome Remote Desktop as root but the installation is accomplished using a sudo account. With my customized version of Lubuntu, installation gives prompt for a sudo password, but no option to choose the sudo user.  The easiest way to resolve this (which may not be a problem on the standard Lubuntu desktop, as well as Xbuntu and Ubuntu may not have this issue), simply give temporary sudo access to the user account that the Remote connection will be used on and install the the Chrome Store app download the deb package and install (whatever way you want, personally dpkg -i).  At this point sudo access is no longer necessary. 

With the Chrome Remote Desktop software installed, you should be able to connect to your desktop, though it may be a black screen at this point. To enable basic usability you need to create a file in the home directory on the linux desktop called .chrome-remote-desktop-session

Only 1 line is required in the file but here is a couple of possibilities:

.chrome-remote-desktop-session

#/usr/bin/openbox-session

#/usr/bin/lxsession -s Lubuntu-Netbook -e LXDE

#/usr/bin/lxsession -s Lubuntu -e LXDE

## This session was created for other purposes such as a non shared desktop 

#/usr/bin/lxsession -s ChromeDesk -e LXDE

######

## For Desktop Sharing

######

/etc/X11/Xsession

My choice has been primarily to share a desktop and the simplest way to this was to use a blank Xsession so using the line  /etc/X11/Xsession   is all that's needed in the ~/.chrome-remote-desktop-session file.

Set an environment variable to match your "Host Desktop" as the CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES It seems to work better when the resolution matches the desktop we want to access.

So something like one of the following gets added to the 

~/.profile

export CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES=1440x900

export CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES=1280x720

export CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES=1920x1080

export CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES=1024x768

With vino installed you need to change the preferences, so from a terminal   vino-preferences   enable viewing of desktop and control as well. Now you may want to also check confirm access, require password, or auto config router... Don't all three should be unchecked.

If you have configured your firewall to block port 5900 the default port, this will still work, though as stated in beginning if you don't know what you are doing maybe you should reconsider this approach, but to continue...

Create and/or Add to your ~/.xsessionrc file the following  xvncviewer localhost:5900 &  

Now you are able to connect, view and/or interact with the desktop. Though you find it difficult to know where the mouse pointer is as vimo does not render it to the vnc client. So that's where the cat comes in to chase the mouse out into the open...

~./xsessionrc

#!/bin/bash

if [ -n "$CHROME_REMOTE_DESKTOP_SESSION" ]; then

    xsetroot -cursor_name left_ptr &

    xvncviewer localhost:5900 -fullscreen

fi

logout

oneko seems to cause the vimo-server to generate high cpu loads on the host computer...so it is killed after loading the viewer... Though since first attempt proper configuration settings was discover... it was a simple to use workaround, as attempts to use other vnc servers did not render the same quality as vimo and vimo did not render the mouse... It seems some of the high load on cpu was decrease by lowering firewall logs...

Additionally, you may want to note that GUI aside, the easiest way to terminate vimo is  killall vimo-server 

Though restarting was needed, it was not required to use sudo...

/etc/init.d/chrome-remote-desktop stop

/etc/init.d/chrome-remote-desktop start

was enough...