Chrome remote desktop is a simple, secure way to set up a remote access to a desktop environment but did you know you can set it up on a Linux server in a headless configuration? You don’t even need a monitor plugged into the machine!
In this post I’ll show you how to set this up on an Ubuntu/Debian server.
Why would you want to do this? There are a few reasons:
- Its simple. There is very minimal set up and once it is working, grandma could use it.
- You can use it anywhere. Chrome remote desktop works in a browser and even on Android and iOS.
- Its secure. You dont yhave to worry about opening up a network firewall or anything, all traffic is passed via google servers.
SSH to your server
All of this will be configured via SSH, so you will need a SSH connection to your server.
Download Chrome remote desktop
Go to https://remotedesktop.google.com/ and select “Set up via SSH”.
![](https://static.zacscott.net/uploads/2024/07/1588a49bbd92ea1d6efc43fa45c2657f7e75036a-1200x286.png)
On the server, download the current Chrome remove desktop binary;
wget https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb
Install of the prerequisites
There are a number of prerequisites which are not explicitly stated by Google which you will need to install first. This command will do this trick:
sudo apt install xvfb xserver-xorg-video-dummy xbase-clients xbase-clients python3-packaging python3-psutil libutempter0 python3-psutil python3-xdg
Install Chrome remote desktop
sudo dpkg -i chrome-remote-desktop_current_amd64.deb
Install XFCE4
You’ll need a X11 based desktop environment for Chrome remote desktop to use. XFCE4 is a lightweight, easy choice, which you can install like so:
sudo DEBIAN_FRONTEND=noninteractive \
apt install --assume-yes xfce4 desktop-base dbus-x11 xscreensaver
sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > /etc/chrome-remote-desktop-session'
Register the remote
Once installed, you’ll need to register the server as a remote with Chrome remote dekstop. Run the command that it gives you to complete the process.
![](https://static.zacscott.net/uploads/2024/07/f170f0ec43fe1e30f439b4df1ec90520cb873005-1200x532.png)
Done
That is all there is too it. You should be able to access your server via Chrome remote dekstop now!
![](https://static.zacscott.net/uploads/2024/07/711d90b050e07d1487011d890afc9bc9dde74d85-1200x624.png)
![](https://static.zacscott.net/uploads/2024/07/f961d1d14d029c96e6e9c1deca9638735b66274d-1200x606.png)
There is an official guide on setting this up on compute engine, which might be good reference material; https://cloud.google.com/architecture/chrome-desktop-remote-on-compute-engine