> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/freerdp/freerdp/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Connect to a remote Windows desktop in minutes using xfreerdp or sdl-freerdp.

## Prerequisites

* FreeRDP installed on your system. If you haven't installed it yet, see the [Installation guide](/installation).
* A Windows machine (or any host running an RDP server such as xrdp or gnome-remote-desktop) with Remote Desktop enabled.
* The hostname or IP address, a username, and password for the remote machine.

## Connect with xfreerdp

<Steps>
  <Step title="Open a terminal">
    Open a terminal on your Linux or macOS machine.
  </Step>

  <Step title="Run xfreerdp with your connection details">
    Replace `hostname`, `username`, and `password` with your actual values:

    ```bash theme={null}
    xfreerdp /v:hostname /u:username /p:password
    ```

    A window will open showing the remote desktop. If the server presents an unknown certificate, xfreerdp will prompt you to accept or reject it.
  </Step>

  <Step title="Accept the server certificate (first connection)">
    On your first connection to a host, xfreerdp displays a certificate fingerprint and asks whether to trust it:

    ```
    Do you trust the above certificate? (Y/T/N)
    ```

    * Enter `Y` to trust and remember the certificate permanently.
    * Enter `T` to trust it for this session only.
    * Enter `N` to abort the connection.

    <Warning>
      Only use `/cert:ignore` in trusted lab or test environments. Skipping certificate verification exposes your session to man-in-the-middle attacks.
    </Warning>
  </Step>
</Steps>

## Common connection flags

| Flag                      | Description                                               |
| ------------------------- | --------------------------------------------------------- |
| `/v:host[:port]`          | Server hostname or IP, with optional port (default: 3389) |
| `/u:username`             | Username                                                  |
| `/p:password`             | Password                                                  |
| `/w:width`                | Window width in pixels                                    |
| `/h:height`               | Window height in pixels                                   |
| `/f`                      | Start in fullscreen mode                                  |
| `/cert:ignore`            | Skip certificate verification                             |
| `/sound`                  | Enable audio output redirection                           |
| `/drive:name,/local/path` | Redirect a local directory to the remote session          |
| `+clipboard`              | Enable clipboard redirection                              |

### Example: set resolution and enable clipboard

```bash theme={null}
xfreerdp /v:192.168.1.100 /u:JohnDoe /p:Pwd123! /w:1366 /h:768 +clipboard
```

### Example: fullscreen with audio

```bash theme={null}
xfreerdp /v:rdp.contoso.com /u:JohnDoe /p:Pwd123! /f /sound
```

### Example: redirect a local drive

```bash theme={null}
xfreerdp /v:192.168.1.100 /u:JohnDoe /p:Pwd123! /drive:home,/home/user
```

### Example: connect on a non-default port

```bash theme={null}
xfreerdp /v:192.168.1.100:4489 /u:JohnDoe /p:Pwd123! /w:1366 /h:768
```

### Example: domain user

```bash theme={null}
xfreerdp /v:rdp.contoso.com /u:CONTOSO\\JohnDoe /p:Pwd123!
```

### Example: use a saved .rdp file

```bash theme={null}
xfreerdp connection.rdp /p:Pwd123! /f
```

## xfreerdp keyboard shortcuts

Once connected, the following keyboard shortcuts are available inside the xfreerdp window:

| Shortcut          | Action                                               |
| ----------------- | ---------------------------------------------------- |
| `Right Ctrl`      | Release keyboard and mouse grab                      |
| `Ctrl+Alt+Return` | Toggle fullscreen                                    |
| `Ctrl+Alt+M`      | Minimize the window                                  |
| `Ctrl+Alt+C`      | Toggle remote control in a remote assistance session |

## xfreerdp vs sdl-freerdp

FreeRDP ships two graphical clients. Both accept the same command-line flags.

<Tabs>
  <Tab title="xfreerdp">
    **xfreerdp** is the X11 client. It runs on any Linux desktop that provides an X display (including XWayland). It is the most widely used FreeRDP client and is available in most Linux distribution package repositories.

    ```bash theme={null}
    xfreerdp /v:hostname /u:username /p:password
    ```
  </Tab>

  <Tab title="sdl-freerdp">
    **sdl-freerdp** is built on SDL2 or SDL3. It runs on Linux, macOS, and Windows without depending on X11, making it the preferred choice on macOS or on Wayland systems without XWayland.

    <CodeGroup>
      ```bash SDL2 theme={null}
      sdl2-freerdp /v:hostname /u:username /p:password
      ```

      ```bash SDL3 theme={null}
      sdl3-freerdp /v:hostname /u:username /p:password
      ```
    </CodeGroup>

    <Note>
      The installed binary name depends on which SDL version was used when FreeRDP was compiled. Package managers typically install one version. Check with `which sdl2-freerdp` or `which sdl3-freerdp`.
    </Note>
  </Tab>
</Tabs>

## Next steps

<CardGroup cols={2}>
  <Card title="Installation" icon="download" href="/installation">
    Install pre-built packages for Linux, macOS, Windows, Android, and iOS.
  </Card>

  <Card title="Building from source" icon="hammer" href="/building/overview">
    Compile FreeRDP yourself with custom options.
  </Card>
</CardGroup>
