Chrome Remote Desktop connects from your Android device to Linux
Google recently announced the beta release of the Chrome Remote Desktop for Linux. It allows you to remotely connect to a Linux machine from within the Chrome browser. Judging from the early comments in the Google product help forum, setting up the Chrome Remote Desktop on a Linux machine is still rather quirky for certain configurations. This post details my experience of successfully installing and setting up Chrome Remote Desktop to connect from an Android device to a Debian Wheezy machine.
First, install and setup Chrome Remote Desktop on the Debian machine. Then, install the Chrome Remote Desktop app on the Android device.
Install on Debian
- Install Google Chrome.
The official Debian Wheezy repository includes the Chromium browser, which is the unbranded, open-sourced version of Chrome. To avoid any compatibility issues, download the official Google Chrome browser package directly from the Google product page. Then, install it as follows:
$ dpkg -i google-chrome-stable_current_amd64.deb - Add Chrome Remote Desktop to Chrome.
- Open the Chrome browser.
- Visit the Chrome Remote Desktop app on the Chrome Web Store.
- Click the +Free button, then Add.
- Configure virtual desktop.
- Create script to start virtual desktop.
Create the file ~/.chrome-remote-desktop-session, which contains the command to start your preferred desktop environment. You may look up the command in the corresponding desktop file located in the /usr/share/xsessions directory. For instance, if the desktop is GNOME, look up the Exec command in /usr/share/xsessions/gnome.desktop.
$ grep '^Exec=' /usr/share/xsessions/gnome.desktop
Exec=gnome-sessionNote that gnome-session - the text after 'Exec=' - is the command to start the virtual session. Insert the command to ~/.chrome-remote-desktop-session as follows:
$ cat > ~/.chrome-remote-desktop-session
exec gnome-session - Change screen resolution (optional).
By default, the screen resolution of the remotely-connected virtual desktop is 1600 x 1200 pixels. To modify the default resolution, append a line to ~/.profile. For instance, to make it 1024 x 768,
$ cat >> ~/.profile
export CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES=1024x768
- Create script to start virtual desktop.
- Install Chrome Remote Desktop daemon.
- Download the 64-bit Debian package for Chrome Remote Desktop from the Google Chrome Remote Desktop app page.
- Install the Debian package.
My first attempt failed due to dependency problems: some required packages were not pre-installed.
$ sudo dpkg -i chrome-remote-desktop_current_amd64.deb
...
dpkg: dependency problems prevent configuration of chrome-remote-desktop:
chrome-remote-desktop depends on xvfb-randr | xvfb; however:
Package xvfb-randr is not installed.
Package xvfb is not installed.
chrome-remote-desktop depends on xbase-clients; however:
Package xbase-clients is not installed.
chrome-remote-desktop depends on python-psutil; however:
Package python-psutil is not installed.
...To resolve the dependency problems, run apt-get -f install and then re-install the package:
$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
python-psutil xbase-clients xvfb
The following NEW packages will be installed:
python-psutil xbase-clients xvfb
...
$ sudo dpkg -i chrome-remote-desktop_current_amd64.debA daemon named chrome-remote-desktop is created.
$ sudo chkconfig --list |grep chrome
chrome-remote-desktop 0:off 1:off 2:on 3:on 4:on 5:on 6:off
- Authorize Chrome Remote Desktop.
When you run the Chrome Remote Desktop app for the first time, you will be asked to grant permission for the app to do its job.
- Open a new tab in Chrome, and enter chrome://apps/.
- Click Chrome Remote Desktop icon.
- Click Continue, then Accept.
- Open a new tab in Chrome, and enter chrome://apps/.
- Enable remote connections.
- Click the Get started button in the My Computers box.
- Click Enable remote connections.
If the Enable remote connections button does not appear on the screen, make sure that the ~/.chrome-remote-desktop-session file is created.
- Enter a PIN.
The Debian machine is now ready to accept remote connections. You should see its hostname - panther - listed in the My Computers box.
If you encounter any connection error, please examine the log file - /tmp/chrome_remote_desktop_YYYYMMDD_HHMMSS_xxxxxx - for clues on what might have gone wrong.
- Click the Get started button in the My Computers box.
Install and connect from Android
- Install the Chrome Remote Desktop app from Google Play onto your Android device.
- Open the app on the Android device.
- Click the hostname - panther - to remotely connect to it.
- Enter the PIN for authentication to the remote host.