# Workspace-VMs

Workspace-VMs sind die Ubuntu-Maschinen hinter einem Remote-Workspace, mit Desktop, Werkzeugen, Workspace-Startseite und Code Server je Projekt.

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

Hinter jedem Remote-Workspace steht eine Workspace-VM, eine vorbereitete Entwicklungsmaschine mit Ubuntu. Die Plattform kennt zwei Formen: den älteren projektgebundenen Workspace, der zu genau einem Projekt gehört, und den Nutzer-Workspace, der einer Person gehört und mehrere Projekte für die Remote-Entwicklung enthalten kann.

## Nutzer-Workspace und Remote-Entwicklung

In einem Nutzer-Workspace startet die Setup-App automatisch in der VM. Sie meldet sich über ein Bootstrap-Token an der Plattform an und verwaltet für jedes Projekt eine eigene Code-Server-Instanz, also VS Code im Browser. Die Workspace-Startseite unter `https://<hostname>:9000/<sprache>/` zeigt diese Instanzen mit Start- und Stopp-Schaltern und verlinkt sie pro Projekt auf die Ports 9001, 9002 und so weiter. Dieselben Adressen findest du in der Web-Oberfläche unter **Workspaces** in der Spalte **Remote-Entwicklung**.

## Was auf der VM vorhanden ist

Die VM bringt eine Ubuntu-Desktop-Umgebung mit RDP-Zugriff mit. Git und asdf sind installiert, und die Laufzeitversionen richten sich nach der `.tool-versions` des jeweiligen Projekts. Als Editoren und Agenten stehen Cursor, Code Server, Codex und Claude Code bereit. Die Workspace-Startseite zeigt außerdem die Verbindungsdaten, ein Systemprofil der Maschine und Links in diese Dokumentation. Eine Beschreibung der Programme und ihres Zusammenspiels steht unter [Installierte Programme]({{< relref "workspace-ubuntu-software" >}}).

## Wann die VM die richtige Wahl ist

Die Workspace-VM lohnt sich, wenn du ohne lokale Installation starten willst, wenn du mehrere Projekt-Repositories gleichzeitig brauchst oder wenn du für Pairing, Review und Support eine Umgebung willst, die bei allen Beteiligten gleich aussieht. Wie du dich mit Desktop und Werkzeugen verbindest, steht unter [Mit dem Workspace verbinden]({{< relref "workspace-vm-access" >}}).

