Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
You can run a graphical Linux desktop on a headless VPS and reach it from a browser with Chrome Remote Desktop. The reliable pattern is: use a 64-bit Debian-based server, install Google’s host package, add an X11 desktop such as Xfce, authorize the host from Chrome Remote Desktop’s SSH setup page, create a six-digit PIN, and connect through the Remote Access page. You do not normally need to expose an RDP service on port 3389.
This guide uses Ubuntu 22.04 LTS and Debian-style commands, with Xfce as the low-overhead desktop. It also explains the outbound network requirements, firewall-traversal control, systemd checks, and the fixes for blank screens and sessions that fail to start.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11What you are building
A VPS normally has no monitor, keyboard, or graphical login. Chrome Remote Desktop adds a host service that starts an X11 desktop session for your Linux user. You then open the Chrome Remote Desktop web interface on another computer, select the VPS, and enter the PIN created during setup.
The connection is not the same as running a conventional RDP server. Google’s troubleshooting guidance describes outbound UDP, HTTPS on TCP 443, and STUN traffic on TCP and UDP 3478, with inbound UDP responses. A public listener on TCP 3389 is not required for the Chrome Remote Desktop workflow.
#1 Best Overall
- Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
- With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
- Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
- Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
- Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.
Google states that “For your security, all remote desktop sessions are fully encrypted.” The host still needs a working internet connection and a correctly configured desktop-session command.
Requirements and supported starting points
Use a 64-bit Debian-based VPS
Choose a 64-bit Debian or Ubuntu image. Google’s Compute Engine example uses a Debian Linux boot disk. Canonical’s Ubuntu instructions target Ubuntu 22.04 LTS and install the current amd64 Debian package. Package names, repository details, and supported releases can change, so verify the current vendor instructions if you are deploying a different release or architecture.
- Root access or a user with
sudo. - An SSH client and the VPS’s public address or hostname.
- Enough disk space for an X11 desktop and its applications.
- A local computer with a supported browser for authorization and later connections.
- A plan for firewall policy: ordinary internet access, or LAN/VPN-only access if traversal must be disabled.
No general CPU, memory, bandwidth, or latency benchmark for Chrome Remote Desktop on a generic VPS is established by the cited official guidance. Select the VPS size according to the Linux applications you intend to run rather than relying on an unverified performance number.
Choose the desktop environment before installing it
Chrome Remote Desktop requires an X Window System desktop environment and a window manager. Google lists Xfce, Cinnamon, GNOME, GNOME Classic, and KDE Plasma. The service does not support 3D graphics acceleration; disable 3D features or avoid configurations that require them.
| Desktop | Graphical overhead | 3D guidance | Session considerations | Package footprint |
|---|---|---|---|---|
| Xfce | Low; Google recommends it for slower links because it has few animations and minimal graphical elements. | Keep 3D effects disabled. | Use the supplied Xfce session file and disable a conflicting display manager such as LightDM. | Not stated in the cited guidance. |
| Cinnamon | Generally more graphical UI than Xfce. | Do not depend on 3D acceleration. | Point the per-user session file at the installed Cinnamon session; some environments permit only one active session. | Not stated in the cited guidance. |
| GNOME or GNOME Classic | Heavier graphical shell than Xfce. | Disable or avoid 3D features. | Use the exact Exec= command from the installed desktop-entry file. |
Not stated in the cited guidance. |
| KDE Plasma | Feature-rich and typically heavier than Xfce. | Do not configure it to require unsupported 3D acceleration. | Ensure the selected Plasma session is installed and named correctly in the session file. | Not stated in the cited guidance. |
Xfce is the practical default for a VPS accessed over a slower connection. A more feature-rich desktop can work, but every extra display-manager or session choice creates another place for a startup mismatch.
Prepare the VPS over SSH
Log in as your administrative user, update the package index, and apply available security updates. These commands do not install a graphical desktop yet:
Rank #2
- Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
- Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
- Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
- Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
- Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
ssh your-user@your-vps.example
sudo apt-get update
sudo apt-get upgrade
Replace the SSH address and username with your own values. If the provider supplied a temporary password or requires an SSH key, complete that provider’s login step first. Keep this SSH session open while configuring the remote desktop so that you have a recovery path if the graphical session fails.
Install the Chrome Remote Desktop host package
Repository method
Google documents an apt repository method for Debian-based systems. The repository is restricted to amd64 in this command:
curl https://dl.google.com/linux/linux_signing_key.pub
| sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/chrome-remote-desktop.gpg
echo "deb [arch=amd64] https://dl.google.com/linux/chrome-remote-desktop/deb stable main"
| sudo tee /etc/apt/sources.list.d/chrome-remote-desktop.list
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install --assume-yes chrome-remote-desktop
DEBIAN_FRONTEND=noninteractive suppresses an interactive keyboard-layout prompt that is not useful on a VM without a directly connected keyboard. The package is installed as a system service, but it will not have a usable graphical session until you install and select a desktop environment.
Direct Debian package method on Ubuntu
Canonical also documents downloading the current amd64 package and installing it locally:
wget https://dl.google.com/linux/chrome-remote-desktop_current_amd64.deb
sudo apt-get install --assume-yes ./chrome-remote-desktop_current_amd64.deb
Use one installation method, not both. If your VPS is ARM-based or uses a distribution outside the documented Debian/Ubuntu path, do not assume that the amd64 package will work; select a supported 64-bit Debian-based image or verify architecture-specific instructions first.
Install Xfce and make it the remote session
For an efficient Xfce session, install the desktop, a base theme, D-Bus support for X11, and XScreenSaver:
Rank #3
- 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
- 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
- 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
- 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
- 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
sudo DEBIAN_FRONTEND=noninteractive
apt install --assume-yes xfce4 desktop-base dbus-x11 xscreensaver
Google calls out XScreenSaver because Xfce’s default Light Locker can produce a blank screen that cannot be unlocked in a remote session. XScreenSaver supplies a compatible screensaver/lock path for this setup. If you want the fuller Xfce application suite, the optional task-xfce-desktop package installs it; the minimal package set above is usually a better starting point for a small VPS.
Tell Chrome Remote Desktop exactly which session to launch:
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > /etc/chrome-remote-desktop-session'
sudo systemctl disable lightdm.service
The first command writes the Xfce startup command used by the host service. The second prevents LightDM from trying to provide a separate local display-manager login on a headless server. Disabling LightDM does not remove Xfce; it avoids a competing login path.
Configure another desktop with a per-user session file
If the VPS already contains several desktop environments, use the per-user file documented by Chrome Help: $HOME/.chrome-remote-desktop-session. First identify the desktop entry for the environment you intend to use, then take its Exec= value and place an Xsession command in the file. For example, a Cinnamon session can be configured as:
printf '%sn' "exec /etc/X11/Xsession 'gnome-session --session=cinnamon'"
> "$HOME/.chrome-remote-desktop-session"
The command must name software actually installed on the VPS. Do not copy the example blindly if your desktop-entry file uses a different session name. A mismatch here is a common reason for an immediate disconnect or a gray/blank browser window.
Some desktop environments do not support more than one session at a time. Sign out of an existing local session, or choose a different environment for Chrome Remote Desktop, before concluding that the host service is broken.
Rank #4
- 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
- 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
- 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
- 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
- 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
Authorize the host and create the PIN
- On your local computer, open the Chrome Remote Desktop setup page in a browser and choose the SSH setup path.
- Select Begin, then select Next because the host package is already installed.
- Select Authorize and complete Google’s account authorization prompts.
- Copy the Debian Linux command displayed by the setup page.
- Paste that command into the VPS’s existing SSH terminal and run it. The command associates this Linux host with your account.
- When prompted, create a six-digit PIN. Use a value you can protect as a credential; it is required when you connect to the VPS.
Do not paste the authorization command into an unrelated server. Confirm the SSH prompt identifies the intended VPS before executing it. If the browser page waits indefinitely, keep the SSH terminal visible and check whether the command is still waiting for an authorization response or PIN entry.
Connect from the browser
- On the local computer, open the Chrome Remote Desktop Remote Access page.
- Look under Remote devices for the VPS name you just authorized.
- Select the VPS and enter the six-digit PIN.
- Wait for the browser window to create the Xfce session. The Ubuntu or Debian desktop should appear inside the browser.
The first connection can take longer while the desktop creates its user directories. Once connected, open a terminal in the remote desktop and confirm that the expected user, applications, and time zone are present. Keep SSH available for administration; a browser session is not a substitute for an out-of-band recovery channel.
Networking: why port 3389 is normally unnecessary
Chrome Remote Desktop uses its own host service and browser connection rather than a standard RDP listener. Google’s troubleshooting guidance recommends allowing:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
- Outbound UDP from the VPS and the corresponding inbound UDP responses.
- TCP 443 for HTTPS.
- TCP and UDP 3478 for STUN.
Apply these rules to the provider firewall, the VPS firewall, and any corporate egress firewall between the browser and the internet. A restrictive policy that permits SSH but blocks the documented traffic can leave the host listed yet unable to establish a session.
Do not open TCP 3389 merely because the service is a “remote desktop.” Opening an unnecessary public RDP port increases the attack surface and does not fix a Chrome Remote Desktop connectivity problem.
When a host is listed but will not connect
- Confirm the VPS has working DNS and outbound internet access.
- Check provider-level egress rules as well as
ufw, nftables, or another local firewall. - Verify that HTTPS 443 and STUN 3478 are not blocked by a proxy or inspection gateway.
- Retry after the host service has been restarted, then read the journal for a more specific error.
Restrict traversal to a LAN or VPN
Organizations that do not want internet relay or firewall traversal can use Google’s RemoteAccessHostFirewallTraversal policy. On Linux, create or edit:
Best Value
- 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
- 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
- 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
- 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
- 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
sudo mkdir -p /etc/opt/chrome/policies/managed
sudo tee /etc/opt/chrome/policies/managed/RemoteAccessHostFirewallTraversal.json <<'EOF'
{
"RemoteAccessHostFirewallTraversal": false
}
EOF
With the policy set to false, plan to provide a reachable LAN or VPN path between the browser and host. Test the policy in the target managed Chrome environment before deploying it broadly; a policy that is correct for a private network can make a host unreachable from ordinary internet connections.
Check the service with systemd and journalctl
The per-user service is the fastest way to distinguish an authorization problem from a desktop-startup problem. In SSH, run:
sudo systemctl status chrome-remote-desktop@$USER
sudo systemctl restart chrome-remote-desktop@$USER
A successful restart does not prove that the X11 session is valid; it only shows that systemd accepted the service operation. Read the host logs with:
journalctl SYSLOG_IDENTIFIER=chrome-remote-desktop
journalctl SYSLOG_IDENTIFIER=chrome-remote-desktop -e
journalctl SYSLOG_IDENTIFIER=chrome-remote-desktop -b
- The first command prints the service’s available journal entries.
-ejumps to the newest entries, which is useful immediately after a failed connection.-blimits output to the current boot, helping isolate failures after a restart.
When a log mentions a missing executable, compare it with the command in /etc/chrome-remote-desktop-session or ~/.chrome-remote-desktop-session. The executable and desktop session name must match an installed package.
Fix a blank screen or a session that closes immediately
Blank screen after authentication
- Confirm Xfce and XScreenSaver are installed:
dpkg -l xfce4 xscreensaver. - Check that
/etc/chrome-remote-desktop-sessioncontainsexec /etc/X11/Xsession /usr/bin/xfce4-session, or that your per-user file points to the intended installed desktop. - If LightDM was installed for another purpose, disable it as shown in the Xfce setup.
- Restart the per-user service and reconnect.
XScreenSaver matters here because the default Light Locker used by Xfce can display a lock screen that cannot be unlocked through the remote session.
Recommended Free Tools
Immediate disconnect or “desktop failed to start”
- Read the journal immediately after reproducing the failure.
- Check spelling and capitalization of the session command.
- Run
command -v xfce4-sessionor inspect the desktop entry’sExec=line for another environment. - Remove stale commands from a per-user session file if the VPS was previously configured with another desktop.
- Sign out of a conflicting local graphical session when the selected environment supports only one session.
Host does not appear under Remote devices
- Repeat the authorization flow and make sure the generated command was run on the intended VPS.
- Check the service status for the same Linux user that completed authorization.
- Verify that outbound internet access and DNS work from the VPS.
- Inspect the current-boot journal for registration or network errors.
PIN is rejected
Enter the six-digit PIN created during authorization, not the VPS’s SSH password or a provider control-panel password. If the PIN is lost, use the Chrome Remote Desktop management interface to remove and re-authorize the host rather than trying random values.
Operational and security practices
- Keep SSH enabled as a recovery path while testing the graphical service.
- Apply Debian or Ubuntu security updates through the normal package-management process.
- Protect the six-digit PIN and the Google account used to administer the host.
- Use the least-permissive provider and VPS firewall rules that still allow SSH and the documented Chrome Remote Desktop traffic.
- Prefer Xfce on low-bandwidth links and avoid visual effects that add unnecessary redraws.
- If the VPS is for organizational use, test the firewall-traversal policy on a pilot host before enforcing it on every machine.
Removing the setup
If you no longer need graphical access, first remove the host from the Chrome Remote Desktop management page so that the account no longer advertises it. Then stop or remove the host package through apt and uninstall the desktop packages only after confirming that no other service depends on them. Keep the SSH configuration intact until you have verified that the host remains administrable without the graphical session.
Quick Recap
Decision checklist
- Need the simplest, lightest desktop: install Xfce, XScreenSaver, and the supplied Xsession command.
- Already have Cinnamon, GNOME, or KDE: use the exact session command from its desktop-entry file in
~/.chrome-remote-desktop-session. - Wondering about port 3389: do not open it for this service; allow the documented outbound and response traffic instead.
- Seeing a blank screen: check XScreenSaver, the session file, and LightDM before changing firewall rules.
- Need private-network-only access: set
RemoteAccessHostFirewallTraversaltofalseand provide a working LAN or VPN path.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

