Guides

RDP from a Chromebook: connect to a Windows server with Windows App or Remmina

Chromebook RDP: Microsoft's Windows App from Google Play, or Remmina and FreeRDP in Linux. Steps, port 3389, NLA, Ctrl+Alt+Del and the common errors.

Published ~9 min read

To RDP from a Chromebook, install Microsoft’s free Windows App from the Google Play Store, tap + → PC connection, enter the Windows server’s IP address and log in with its Windows user name and password. If your Chromebook has no Play Store, which is common on school and work devices, use Remmina or FreeRDP in ChromeOS’s Linux environment instead. The browser version of Windows App does not help here: Microsoft’s own table says it cannot connect to a remote PC.

Windows App on a Chromebook · the short version
1. Play Store → search "Windows App" (Microsoft Corporation) → Install
2. Open Windows App → + → PC connection
3. PC name:     203.0.113.10          (203.0.113.10:13389 if RDP runs on another port)
   User account: Administrator + the server's password
4. Save → tap the new tile → check the trust prompt → Connect

Replace 203.0.113.10 with your server’s address. Remote Desktop must be on in Windows, and on a Windows VPS it usually is from the first boot. If it is not, enabling RDP on Windows Server shows the switch in Settings, sconfig and PowerShell.

Which RDP clients work on a Chromebook?

ChromeOS has no Remote Desktop client of its own, so you borrow one from Android or from Linux. Both run side by side with Chrome, and both speak real RDP to a Windows server.

OptionWhat it isWhat it needsUse it when
Windows App (Android)Microsoft's own RDP client, the Android app that used to be called Remote DesktopGoogle Play on the Chromebook; Microsoft lists ChromeOS 126 or laterAlmost always: it is free, supports Network Level Authentication and needs no Microsoft account for a remote PC
Remmina (Linux)A desktop RDP client with saved profiles, from the Debian packagesChromeOS's Linux development environmentNo Play Store, or you want profiles, a shared folder and fine-grained options
FreeRDP (Linux)The command-line client Remmina is built onThe Linux development environmentQuick tests and one-line connections from the terminal
Windows App in a browserMicrosoft's web client at windows.cloud.microsoftA work or school account for Azure Virtual Desktop or Windows 365Not for a VPS: Microsoft's table marks remote PC connections as unsupported in the browser
A browser gateway such as Apache GuacamoleAn open-source gateway that turns RDP into a web pageA server of your own to run the gateway, reachable over HTTPS onlyLocked-down devices where you may install nothing at all
Chrome Remote DesktopGoogle's own remote access tool, not RDPGoogle's host software installed on the Windows machineNot as an RDP client: it does not use RDP or port 3389 at all

Two practical notes. On a school or work Chromebook, Google says the administrator may have switched off both the Play Store and Linux, and then only a browser gateway remains. And the VNC console in your hosting panel also opens in Chrome, but it is a view of the server’s screen for emergencies, not an RDP session; RDP vs VNC explains the difference.

How do I connect with Windows App?

If the Play Store is missing from your launcher, turn it on under Settings → Apps first. These are the steps Microsoft documents for Android and ChromeOS:

  1. 1Install Windows App

    Search the Play Store for Windows App by Microsoft Corporation and install it. Open it and skip or finish the short tour. You do not need to sign in: Microsoft states that a remote PC works without a Windows App sign-in, which is only for its cloud desktops.

  2. 2Add the server as a PC

    The app offers to add a connection on first start; later, tap + on any tab. Choose PC connection and type the IP address under PC name. If Remote Desktop listens on a port other than 3389, add it after a colon: 203.0.113.10:13389.

  3. 3Add the user account

    Add the Windows user name and password, on a fresh Windows VPS usually Administrator, or leave it to ask each time. Give the PC a friendly name if you manage more than one server. Device and audio redirection can wait; to change them later, tap and hold the tile and choose Edit.

  4. 4Save and connect

    Tap Save, then the new tile on the Devices tab. Before connecting, the app asks you to make sure you trust the PC and lets you switch on access to local resources such as the clipboard, storage or the microphone. Allow only what you need. ChromeOS may then ask separately whether the app may use the camera, microphone or files.

  5. 5Accept the certificate once

    A server you set up yourself presents a certificate Windows generated for itself, so the first connection warns that its identity cannot be verified. That is expected on a fresh server. To check it properly, compare the fingerprint the app shows with the one the server reports, as described in the certificate section of the Mac guide; the PowerShell line is the same.

What to expect in the session, from Microsoft’s feature comparison for Android and ChromeOS:

  • Clipboard: both ways, but text only. Move files through local storage redirection, which the app supports, or download them on the server.
  • Screens: one. Multiple monitors are not supported on this platform, and the session does not resize itself with the window as it does on Windows and macOS.
  • Touchpad and touch: Microsoft notes that Android hands some touchpads to the app as a mouse and others as a touchscreen, so pointer behaviour can differ between Chromebook models. A USB or Bluetooth mouse behaves the same everywhere.

How do I connect from the Linux environment with Remmina or FreeRDP?

Turn Linux on under Settings → About ChromeOS → Developers → Linux development environment → Set up. Google warns that setup can take ten minutes or more. You then have a Terminal app and a Debian container in which you install the client:

Terminal on the Chromebook (Debian container)
cat /etc/os-release | grep VERSION=     # Debian 12 (bookworm) or 13 (trixie)
sudo apt update
sudo apt install -y remmina remmina-plugin-rdp

Remmina appears among your Linux apps in the launcher. Open it, choose RDP in the protocol menu next to the address bar, type the IP address and press Enter. Remmina asks for the user name and password and, the first time, whether to trust the certificate. For a server you use often, save a profile instead: it keeps the user name, the resolution and a shared folder, so files can move between the Linux container and Windows.

For FreeRDP, the package and the command depend on the Debian release the container runs:

Debian 12 (bookworm)
sudo apt install -y freerdp2-x11
xfreerdp /v:203.0.113.10 /u:Administrator /dynamic-resolution +clipboard /cert:tofu
Debian 13 (trixie)
sudo apt install -y freerdp3-x11
xfreerdp3 /v:203.0.113.10 /u:Administrator /dynamic-resolution +clipboard /cert:tofu
  • /cert:tofu trusts the server’s certificate on the first connection and refuses if it changes later.
  • Leave out /p:, so FreeRDP asks for the password instead of keeping it in your shell history.
  • /drive:share,/home/you/share makes a folder of the Linux container appear in Windows. The container’s home folder is the one ChromeOS’s Files app shows as Linux files.

More options for both clients, and the same steps on a normal Linux PC, are in how to connect to RDP from Linux.

Which port and security settings does the connection need?

  • Port 3389, TCP and UDP. TCP is enough to connect; UDP on the same port makes the picture smoother when it gets through. Clients fall back to TCP on their own. A custom port goes after a colon in every client listed here.
  • Network Level Authentication stays on. Windows App and FreeRDP authenticate before the session starts, as NLA requires, and Remmina negotiates it automatically. A Chromebook is no reason to switch NLA off on the server; Network Level Authentication explains what it protects.
  • Your own network. School, office and hotel Wi-Fi often block outgoing connections to 3389. The Chromebook cannot fix that, but a phone hotspot tells you within a minute whether it is the network.

The Linux terminal can test the port before you blame the client. This line is plain bash, so it needs no extra package:

Terminal on the Chromebook
timeout 5 bash -c '</dev/tcp/203.0.113.10/3389' && echo open || echo closed

open means the network path works. closed after a Connection refused line means the server answered but nothing accepts connections on that port; closed after five seconds of silence means a firewall drops the packets on the way. The open port checker runs the same test from our network, which tells you whether the block sits near you or near the server.

How do I press Ctrl+Alt+Del and other Windows keys on a Chromebook?

A Chromebook keyboard has no Delete, End or function keys of its own; ChromeOS produces them with combinations. Google’s shortcut list gives these:

Windows keyOn a ChromebookNotes
EndSearch (or Launcher) + Right arrowGoogle lists it as "move to end of the line"
Delete (forward)Alt + BackspaceBackspace alone deletes backwards, as on a Mac
F1 to F12Search (or Launcher) + a top-row keyThe top row is media and brightness keys by default
Caps LockSearch (or Launcher) + Alt

Inside a Remote Desktop session, Windows uses Ctrl+Alt+End in place of Ctrl+Alt+Del, so on a Chromebook that becomes Ctrl+Alt+Search+Right arrow. Whether ChromeOS passes that combination into the app depends on the client and the ChromeOS version, and we have not been able to check it on a Chromebook. Two ways work with no key combination at all:

  • A command in the session. Open PowerShell on the server and run (New-Object -ComObject Shell.Application).WindowsSecurity(). It opens the same Windows Security screen: lock, sign out, change password, Task Manager.
  • The On-Screen Keyboard. Type osk in the server’s Start menu, hold Ctrl and Alt on your real keyboard and click Del on the screen keyboard.

For Task Manager alone, right-click the Start button in Windows. Every other variant, the hosting panel’s console included, is in Ctrl+Alt+Del over RDP.

Characters come out wrong? In scancode mode Windows App sends the position of each key and Windows applies its own layout, so a German or French keyboard typing into a session set to US English swaps letters and symbols. Either add your layout in Windows (Settings → Time & language → Language & region) or switch Windows App to unicode mode, which sends the characters you see: tap your profile icon, open General and turn off Use scancode input when available. Scancode suits shortcuts and programs that react to single keys; unicode suits typing text and passwords. Without a physical keyboard, the keyboard icon in the app’s connection bar opens an on-screen one.

What if the Chromebook cannot connect?

  • Windows App says it couldn’t connect to the remote PC: the app never reached Remote Desktop. Run the port test above. If it says closed, Remote Desktop is off, the Windows Firewall blocks it, the server is still booting, or your network blocks 3389.
  • The port is open but the login fails: retype the user name as .\Administrator so Windows treats it as a local account, and check the password in a text field first; a password set through a web console may have been typed with another keyboard layout.
  • “An internal error has occurred” or a CredSSP message: the network is fine and the problem sits in the server’s certificate, TLS or NLA settings. The fixes are in what to do about an internal error in Remote Desktop.
  • No Play Store and no Linux settings: the Chromebook is managed and both are switched off by policy. Ask the administrator, or use a browser gateway on a server of your own.

The full server-side checklist, from the firewall rule to an expired evaluation licence, is Remote Desktop can’t connect to the remote computer.

What should you do after the first login?

Restrict the Remote Desktop firewall rules to the addresses you connect from, keep NLA on and use a long password. A Chromebook often moves between networks, so its public address changes more than a desktop PC’s; if an allow list keeps locking you out, put RDP behind a VPN instead. The Windows RDP security checklist has both, with the commands. Closing the app only disconnects you: programs keep running on the server, which suits long jobs. To end the session, sign out from the Start menu.

Frequently asked

Can you RDP from a Chromebook?

Yes. ChromeOS has no Remote Desktop client of its own, but Microsoft's Windows App from the Google Play Store connects to any Windows PC or server with Remote Desktop enabled; Microsoft lists ChromeOS 126 or later. Without the Play Store, install Remmina or FreeRDP in ChromeOS's Linux development environment, which speak the same protocol.

Is Microsoft Remote Desktop available for Chromebook?

Its successor is. Microsoft's Android client is now called Windows App; install it from the Google Play Store on the Chromebook, tap + and choose PC connection. A remote PC needs no Microsoft account and no sign-in in the app. The browser version of Windows App does not work for this: Microsoft lists remote PC connections as unsupported in the browser.

How do I press Ctrl+Alt+Del on a Chromebook in Remote Desktop?

Inside a session Windows uses Ctrl+Alt+End, and a Chromebook produces End with Search (or Launcher) plus the right arrow. If ChromeOS does not pass that combination on, run (New-Object -ComObject Shell.Application).WindowsSecurity() in PowerShell on the server, or open the On-Screen Keyboard with osk, hold Ctrl and Alt on your keyboard and click Del.

Can I use Chrome Remote Desktop instead of RDP?

It is a different product: Google's own remote access tool, which needs Google's host software running on the Windows machine and does not use RDP or port 3389. To reach a Windows server that already accepts Remote Desktop, an RDP client such as Windows App or Remmina is the direct route.

Why can't my school or work Chromebook connect over RDP?

Two common reasons. Google notes that administrators can switch off the Google Play Store and Linux on managed Chromebooks, which removes both client options. And school and office networks often block outgoing connections to port 3389. Try once over a phone hotspot: if it works there, the network is the obstacle, not the server.

Related articles

All guides