# Fehlerbehebung

Prüfschritte für Workspaces, wenn die RDP-Verbindung scheitert, ein Werkzeug fehlt, ein Port belegt ist oder ein Projektordner fehlt.

> Source: https://www.application-platform.com/de/docs/workspace-vm-troubleshooting/

## Tailscale ist nicht verbunden

Zeigt die Tailscale-App nicht **Connected** oder fehlt deine Workspace-VM in `tailscale status`, ist dein Gerät nicht im Workspace-Netz. Melde dich am Server der Plattform an, nicht an einem gewöhnlichen Tailscale-Konto ([Tailscale einrichten]({{< relref "workspace-vm-tailscale" >}})).

## RDP oder Desktop reagiert nicht

Vergleiche Hostname, Port und Benutzername mit dem Dialog **Verbinden** auf der Workspace-Kachel, starte den RDP-Client neu und verbinde dich erneut; kurz nach dem VM-Start brauchen die Dienste einen Moment. `workspace-<slug>.workspaces.vpn.application-platform.com` wird nur über Tailscale aufgelöst; ein fremder Rechnername unter `workspaces-dev.application-platform.com` ist der öffentliche Gateway-DNS.

### Windows App unter macOS: Passwort-Dialog, dann nichts

Zeigt die Windows App nach dem lokalen Passwort-Dialog weder Verbindung noch Fehlermeldung, prüfe im Terminal:

1. `tailscale status` zeigt die Workspace-VM als online.
2. `dscacheutil -q host -a name workspace-<slug>.workspaces.vpn.application-platform.com` liefert eine IP aus `100.64.x.x`.
3. `nc -vz workspace-<slug>.workspaces.vpn.application-platform.com 3389` meldet den Port als erreichbar.

Klappen Schritt 2 und 3, verbinde dich testweise mit der Tailscale-IP statt dem MagicDNS-Namen oder nutze FreeRDP (`sdl-freerdp`) mit `/cert:ignore` für eine klare Fehlermeldung. Die Logs unter `~/Library/Containers/com.microsoft.rdc.macos/Data/Library/Logs/Windows App/` zeigen mit `Name resolution failed` oder `Connection refused` ein DNS- oder Routing-Problem, mit erfolgreichem RDP-Handshake ein Anmeldeproblem.

### Fehler `0x207` („expired password“)

„expired password“ bei `Error code: 0x207` führt in die Irre; meist passt das Passwort nicht zu `gnome-remote-desktop` auf der VM, oder der CredSSP-/NLA-Handshake bricht ab. Kopiere das Passwort aus dem Dialog **Verbinden**; meldet FreeRDP mit `/cert:ignore` `AUTHENTICATION_FAILED`, setze die Zugangsdaten auf der VM neu (`grdctl --system rdp set-credentials …`).

Zeigt nur die Windows App `0x207` oder `SSL_ERR_HANDSHAKE_FAILED`, braucht die `.rdp`-Datei diese Zeile (die Datei der Plattform setzt sie bereits):

```text
use redirection server name:i:1
```

Lösche alte PC-Einträge in der Windows App und öffne die Datei neu, oder nutze `sdl-freerdp … /cert:ignore /gfx`.

## Ein Werkzeug fehlt

Prüfe in einem neuen Terminal mit `asdf current` die Versionen, wechsle in den Projektordner mit der `.tool-versions` und starte `ap run-local` erneut; `ap doctor` zeigt, welches Werkzeug fehlt.

## Ein Port ist belegt

Beende den alten Prozess oder Docker-Container, der den Port belegt, und starte `ap run-local` neu; `ap ports` zeigt, welcher Port zu welchem Repository gehört. Backends nutzen `docker compose`, Frontends und Homepages feste Ports.

## Ein Projektordner fehlt

Prüfe, ob das Repository im gemeinsamen Projektordner geklont ist; fehlt es, klone es aus der GitLab-Gruppe nach ([Mit Projekten arbeiten]({{< relref "workspace-vm-project-work" >}})).

