Chrome Remote Desktop on Ubuntu 24.04 often fails to repair after a broken installation because residual configuration files, stale systemd services, or conflicting desktop environment settings persist. To fix this, you must completely remove the host package using
sudo apt purge, delete the hidden user directory containing session keys, and reinstall the package while ensuring the correct display server is active. This process resets the connection state without affecting your personal documents or other system data.
Why Standard Reinstallation Fails
When users attempt to repair Chrome Remote Desktop (CRD) by simply running
sudo apt install --reinstall chrome-remote-desktop, the operation frequently fails silently or results in a service that cannot start. This occurs because the CRD host stores persistent state in the user’s home directory rather than in global system paths. Specifically, the directory
~/.config/chrome-remote-desktop holds the PIN, access tokens, and machine-specific identifiers. If these files become corrupted during a previous crash or an interrupted update, the new installation will read the bad data and fail to initialize the daemon.
Furthermore, the
chrome-remote-desktop service relies on a specific D-Bus session bus. In Ubuntu 24.04, which uses Wayland by default for many configurations, the interaction between the legacy X11-based CRD daemon and the modern display manager can break if the environment variables are not correctly passed during service startup. A standard reinstall does not clear these environment mismatches or the corrupted config files, leading to the same error loop.
Step-by-Step Repair Process
To resolve this issue, you need to perform a clean slate reset of the Chrome Remote Desktop components. Follow these steps precisely from a terminal session on the Ubuntu VM.
1. Stop and Disable the Service
First, ensure the current service is not running to prevent file locking issues during deletion. Run the following commands:
systemctl --user stop chrome-remote-desktop.service
systemctl --user disable chrome-remote-desktop.service
If the service refuses to stop, you may need to kill the process manually using
pkill -f chrome-remote-desktop.
2. Purge the Package Correctly
Use
apt purge instead of
remove. The
purge command removes the package binaries and its associated configuration files stored in
/etc and
/var. Crucially,
apt purge does
not delete your personal user data such as documents, downloads, or project files. It only affects the application's own settings.
sudo apt purge chrome-remote-desktop
sudo apt autoremove
Verify that no remnants remain by checking for the binary:
which chrome-remote-desktop
This should return nothing. If it returns a path, the purge failed, and you should investigate manual removal.
3. Remove User-Specific Configuration
This is the most critical step that most tutorials miss. You must delete the hidden directory where CRD stores its session state. Replace
$USER with your actual username if you are not operating as root, or use
rm -rf ~/.config/chrome-remote-desktop while logged into the target user account.
rm -rf ~/.config/chrome-remote-desktop
This action deletes the old PIN and authentication tokens. You will need to set up a new PIN after reinstallation.
4. Reinstall and Configure
Install the package again using the official Google repository. Ensure your system packages are updated first:
sudo apt update
sudo apt install chrome-remote-desktop
After installation, you must configure the host via the browser interface. Open Chrome on your local machine, go to
remotedesktop.google.com, and click "Set up remote access." When prompted, select the Ubuntu VM. The browser will generate a setup script. Copy the command provided and run it in the Ubuntu terminal.
The script will ask for a six-digit PIN. Choose a secure PIN and confirm. Once the script completes successfully, the service should automatically start.
systemctl --user status chrome-remote-desktop.service
You should see
active (running) in green.
Common Troubleshooting Steps
If the service still fails to start after a clean reinstall, check the following areas.
Display Server Compatibility
Ubuntu 24.04 defaults to Wayland. Chrome Remote Desktop historically has better stability on X11. If you are using GNOME, you can switch back to X11 by logging out, clicking the gear icon in the bottom right corner of the login screen, and selecting "GNOME on Xorg." After rebooting, try connecting again.
D-Bus Session Issues
CRD requires a valid D-Bus session. If you installed CRD via SSH or as a different user, the D-Bus socket might be missing. Ensure you are running the setup command as the same user who owns the desktop session. Do not use
sudo for the initial configuration script unless you are setting up a headless server specifically designed for background services, which requires additional systemd unit modifications.
Network Port Confusion
A common misconception is that CRD uses a static port like 3389 (RDP) or 443 (HTTPS). It does not. Chrome Remote Desktop uses dynamic ports and connects through Google’s relay servers. Therefore, opening specific ports in UFW or firewalld is generally unnecessary for inbound traffic. However, outbound HTTPS (port 443) traffic must be allowed for the VM to reach Google’s infrastructure. If your VM is behind a restrictive proxy, ensure it can reach
*.google.com.
For related network troubleshooting, see
Ubuntu 22.04 VM on KVM/virt-manager Not Connecting to Internet if you suspect broader connectivity issues preventing the relay handshake.
Frequently Asked Questions
Does purging Chrome Remote Desktop delete my files?
No,
apt purge only removes the application binaries and its internal configuration files. Your personal documents, photos, and project folders in your home directory remain untouched. Only the
~/.config/chrome-remote-desktop folder is deleted, which contains only connection tokens and PINs.
Why does the service fail to start after installation?
The most common cause is a corrupted configuration file from a previous broken installation. If you do not manually delete
~/.config/chrome-remote-desktop before reinstalling, the new service will read the bad data and exit immediately. Always remove this directory for a clean slate.
Can I use Chrome Remote Desktop on Ubuntu 24.04 Wayland?
It is possible but often unstable. The underlying architecture of CRD is designed around X11. For the most reliable experience on Ubuntu 24.04, switch your session to "GNOME on Xorg" at the login screen before configuring the host.
Do I need to open port 3389 in my firewall?
No. Chrome Remote Desktop does not use RDP protocol or port 3389. It establishes an outbound encrypted connection to Google’s servers. You only need to ensure outbound HTTPS traffic is allowed; inbound ports do not need to be opened for standard usage.
What if I forgot the PIN?
Since the PIN is stored locally in the user’s config directory, forgetting it means you must reset the entire host configuration. Delete
~/.config/chrome-remote-desktop and run the setup script from
remotedesktop.google.com again to create a new PIN.