Eine kurze Aufgabe auf dem entfernten Desktop erledigen

Verbinden Sie einen vorhandenen VNC-Desktop, schreiben Sie eine Zeile in ein leeres Dokument und prüfen Sie sie mit einem neuen Screenshot. Diese Anleitung beschreibt rdp-cli 0.1.0 anhand bestehender Abnahmen vom September 2026; sie dokumentiert keinen neuen Test. Der Mac-Ablauf vom 20. September nutzte Ubuntu 24.04, TigerVNC 1.13.1 und xterm. Spätere Linux-Abnahmen verwendeten auch authentifiziertes TigerVNC. Der folgende Text ist ein Lehrbeispiel und keine Wiedergabe dieser Sitzungen.

Server und Client vorbereiten

Installieren Sie den passenden Download und folgen Sie dem Schnellstart. Auf dem Zielrechner muss bereits ein erreichbarer VNC-Server laufen. Sie benötigen die Berechtigung, den Desktop anzusehen und zu steuern. Öffnen Sie dort ein leeres Dokument in einem Texteditor. rdp-cli installiert keinen Server und stellt kein KI-Modell bereit.

VNC verwendet standardmäßig Port 5900 und Kennwortauthentifizierung. Die unterstützten Sicherheitsmodi verschlüsseln die Desktopübertragung nicht: Verwenden Sie ein vertrauenswürdiges Netzwerk oder VPN. Klassische VNC-Authentifizierung berücksichtigt nur die ersten acht UTF-8-Bytes des Kennworts. RDP-spezifische Optionen wie --user, --domain, Bildschirmanordnung oder Zertifikatseinstellungen dürfen nicht ergänzt werden.

Mit dem richtigen Protokoll verbinden

Ersetzen Sie Beispieladresse und Port. Führen Sie den Block unter macOS oder Linux in Bash aus; unter macOS können Sie vorher bash starten. Ersetzen Sie unter Linux rdp-cli durch den installierten Befehl oder den ausführbaren Pfad Ihrer Architektur.

IFS= read -r -s -p 'Password: ' vnc_password
printf '\n'
printf '%s' "$vnc_password" | rdp-cli connect --protocol vnc --host 192.0.2.20 --port 5900 --password-stdin
unset vnc_password

Öffnen Sie unter Windows PowerShell im Verzeichnis der EXE:

$secret = Read-Host 'Password' -AsSecureString
$savedEncoding = $OutputEncoding
try {
  $OutputEncoding = [System.Text.UTF8Encoding]::new($false)
  [System.Net.NetworkCredential]::new('', $secret).Password |
    .\rdp-cli.exe connect --protocol vnc --host 192.0.2.20 --port 5900 --password-stdin
} finally {
  $OutputEncoding = $savedEncoding
  $secret.Dispose()
}

Lesen Sie die JSON-Antwort und merken Sie sich data.session als SESSION. Prüfen Sie ok und gegebenenfalls error.code; eine fehlgeschlagene Verbindung ist kein Grund, die Authentifizierung stillschweigend zu ändern. --vnc-security none ist ausschließlich für einen bewusst ohne Authentifizierung eingerichteten Server vorgesehen und muss ausdrücklich sowie ohne Kennwortquelle verwendet werden. Ein gespeicherter --credential-ref ersetzt --password-stdin, statt eine zweite Kennwortquelle hinzuzufügen.

Beobachten, handeln und erneut prüfen

Ersetzen Sie für die folgenden Windows-Befehle rdp-cli durch .\rdp-cli.exe; behalten Sie unter Linux den richtigen Programmpfad bei.

rdp-cli status --session SESSION
rdp-cli screenshot --session SESSION --out vnc-before.png

Öffnen Sie vnc-before.png, bestätigen Sie den vorgesehenen Desktop und Editor und übernehmen Sie data.observation aus dieser Aufnahme als OBSERVATION. Prüfen Sie in der Statusantwort Protokoll, Verbindung und Steuerungszustand. Setzen Sie für X und Y die tatsächlichen Koordinaten des entfernten Dokuments ein:

rdp-cli click --session SESSION --desktop --x X --y Y --observation OBSERVATION
rdp-cli screenshot --session SESSION --out vnc-focused.png

Prüfen Sie den Fokus in vnc-focused.png und übernehmen Sie data.observation aus dieser Antwort als NEW_OBSERVATION:

rdp-cli type --session SESSION --text "VNC command check" --observation NEW_OBSERVATION
rdp-cli screenshot --session SESSION --out vnc-after.png

Öffnen Sie vnc-after.png und prüfen Sie, ob „VNC command check“ exakt im vorgesehenen Dokument steht. Eine gesendete Eingabe beweist noch nicht, dass die Anwendung sie angenommen hat. Verwenden Sie keine Koordinaten aus dieser Anleitung und keine veraltete Beobachtung nach Größenänderung, Neuverbindung oder einem Wechsel der Steuerung.

Sitzung beobachten oder wiederherstellen

Ein lokales Fenster ist optional. Damit eine Person dieselbe Sitzung beobachten kann:

rdp-cli watch --session SESSION --viewer window

Das Fenster startet schreibgeschützt. Pause, Übernahme und Rückgabe der Steuerung erfolgen ausdrücklich; der Agent muss stoppen, solange Eingaben pausiert sind oder eine Person die Sitzung steuert. Neuverbindung und Größenänderung durch den Server machen Beobachtungen ungültig und lassen die Steuerung pausiert. Prüfen Sie vor jeder autorisierten Fortsetzung einen neuen Screenshot.

Prüfen Sie bei Verbindungsfehlern Adresse, Port, Serverauthentifizierung und Netzwerk sowie die konkrete Fehlermeldung, statt Kennwörter wiederholt zu versuchen. Prüfen Sie bei abweichendem Text Fokus, Tastaturbelegung und Eingabemethode. VNC-Unicode-Ereignisse garantieren nicht, dass jede Kombination aus Server und Anwendung alle Zeichen annimmt. Bei ungewissem Eingabeergebnis prüfen Sie den Bildschirm und fragen Sie den ursprünglichen Vorgang ab, bevor Sie ihn wiederholen.

Die Grenzen von VNC berücksichtigen

VNC unterstützt den gemeinsamen Ablauf für Screenshots, Eingaben und Anzeige, aber keine Dateien über ein Austauschlaufwerk, Ton, Mikrofon oder vom Client angeforderte Bildschirmanordnungen. Solche Vorgänge liefern CAPABILITY_UNAVAILABLE. UTF-8-Text in der Zwischenablage benötigt ausgehandeltes clipboard_utf8; andernfalls wird Latin-1 unterstützt. Ein Anzeigefenster ergänzt keine fehlenden Protokollfähigkeiten.

Die genauen Optionen finden Sie in der Befehlsreferenz, die Auswahlhilfe im Protokollvergleich und die Einrichtung Ihrer Plattform im Schnellstart.