Von der Linux-Programmdatei zum entfernten Screenshot

Diese Anleitung führt vom Download von rdp-cli bis zu einem Screenshot des Windows-Desktops über RDP. Sie beschreibt Version 0.1.0 anhand bestehender Freigabenachweise: Linux x86_64 Build 2026092203 bestand die Softwareabnahme auf zehn Systemen, ARM64 Build 2026092301 in zwölf Umgebungen einschließlich Raspberry Pi 4 und DGX Spark. Dieser Artikel dokumentiert keinen neuen Test und behauptet nicht, dass jede Linux-Distribution geprüft wurde.

Architektur wählen und Datei prüfen

Auf dem Linux-Rechner, auf dem rdp-cli laufen soll:

uname -m

Wählen Sie auf der Downloadseite Linux x86_64 für x86_64 oder Linux ARM64 für aarch64. Eine ARM-CPU mit einem 32-Bit-Betriebssystem gehört nicht zum Umfang dieser ARM64-Version. Ein Mac mit macOS benötigt das macOS-Paket. Laden Sie die Programmdatei herunter; die getrennten Quellcode- und Lizenzmaterialien werden für die Ausführung nicht benötigt.

Vergleichen Sie vor der Ausführung die SHA-256-Ausgabe mit den Dateidetails der passenden Architektur auf der Downloadseite. Für x86_64:

sha256sum ./rdp-cli-linux-x86_64

Erst wenn die Prüfsumme übereinstimmt, setzen Sie das Ausführungsrecht und prüfen die Version:

chmod u+x ./rdp-cli-linux-x86_64
./rdp-cli-linux-x86_64 --version

Für ARM64:

sha256sum ./rdp-cli-linux-arm64

Erst wenn die Prüfsumme übereinstimmt, setzen Sie das Ausführungsrecht und prüfen die Version:

chmod u+x ./rdp-cli-linux-arm64
./rdp-cli-linux-arm64 --version

--version sollte Versionsinformationen als JSON ausgeben. Das Produkt ist eine einzelne statische ELF-Datei und läuft als normaler Benutzer ohne Root-Installation. Der native Betrachter verwendet weiterhin die Anzeigedienste des laufenden Desktops. Der geprüfte Umfang bedeutet keine Abnahme sämtlicher Desktopumgebungen, Kernel oder Audiogeräte.

Aus Bash verbinden

Auf dem Windows-Server muss RDP bereits aktiviert sein. Ihr Konto muss sich remote anmelden dürfen, und der Server muss über das vorgesehene Netzwerk oder VPN vom Linux-Rechner erreichbar sein. Die Clientinstallation aktiviert den Windows-Dienst nicht.

Führen Sie Folgendes in Bash im Verzeichnis der Programmdatei aus. Ändern Sie unter ARM64 die erste Zeile in rdp_cli=./rdp-cli-linux-arm64. Ersetzen Sie 192.0.2.20 und USER durch das autorisierte Ziel und Konto. Die Kennworteingabe zeigt keine Zeichen an.

rdp_cli=./rdp-cli-linux-x86_64
IFS= read -r -s -p 'Password: ' rdp_password
printf '\n'
printf '%s' "$rdp_password" | "$rdp_cli" connect --host 192.0.2.20 --user USER --password-stdin
unset rdp_password

Verwenden Sie dieselbe Shell weiter, damit rdp_cli definiert bleibt. Die Pipe überträgt das Kennwort und schließt danach die Standardeingabe. Ergänzen Sie bei einem Domänenkonto --domain DOMAIN; kombinieren Sie keine Kennwortquellen. RDP nutzt derzeit standardmäßig --cert-policy ignore: Lesen Sie connect --help und konfigurieren Sie die für Ihre Umgebung geeignete Zertifikatsprüfung. Eine Zertifikatsrichtlinie behebt weder unerreichbare Server noch falsche Zugangsdaten.

Lesen Sie die JSON-Antwort: Prüfen Sie bei Fehlern error.code und error.message; übernehmen Sie bei Erfolg data.session als SESSION.

Status und erstes PNG prüfen

"$rdp_cli" status --session SESSION
"$rdp_cli" screenshot --session SESSION --out first-screen.png

Prüfen Sie Verbindungs- und Steuerungszustand. Öffnen Sie first-screen.png mit einem Bildwerkzeug und bestimmen Sie den tatsächlichen Bildschirm, bevor Sie handeln. Eine verbundene Sitzung kann noch Anmeldung, Begrüßung oder eine beschäftigte Anwendung anzeigen. Merken Sie sich data.observation aus der Screenshot-Antwort für eine spätere Eingabe auf Grundlage dieses Bildes; es ist keine dauerhafte Sitzungskennung.

Für Screenshots und Eingaben ist ein lokales Fenster optional. Damit eine Person dieselbe Sitzung auf einem Linux-Desktop beobachtet:

"$rdp_cli" watch --session SESSION --viewer window

Das Fenster startet schreibgeschützt; die menschliche Übernahme ist ausdrücklich. Das Schließen eines schreibgeschützten Betrachters lässt die Verbindung bestehen. Geht der steuernde Betrachter verloren, bleiben Eingaben pausiert. Prüfen Sie nach Neuverbindung oder Übergabe einen neuen Screenshot und beachten Sie den Steuerungszustand.

Den konkreten Fehler beheben

  • Falsches Dateiformat: Vergleichen Sie uname -m mit der heruntergeladenen Architektur; x86_64 und ARM64 sind nicht austauschbar.
  • Zugriff verweigert: Prüfen Sie Ausführungsrechte und ob das Dateisystem Programmausführung erlaubt. Wählen Sie ein geeignetes Benutzerverzeichnis, statt erhöhte Rechte als Ersatz zu verwenden.
  • Verbindungs- oder Anmeldefehler: Prüfen Sie Route, Port, RDP-Dienst, Kontoberechtigung und zurückgegebenen Fehler. Wiederholen Sie Kennwörter nicht ständig und aktivieren Sie bei sachfremden Fehlern kein altes TLS.
  • SDL_INIT_FAILED ohne Desktop: Die native Anzeige benötigt eine grafische Sitzung; CLI-Screenshots funktionieren weiterhin ohne Desktop. Ein reiner Anzeigefehler beweist keinen RDP-Ausfall.
  • CREDENTIAL_STORE_FAILED: Gespeicherte Zugangsdaten verwenden den Secret Service des Hosts. Ist er nicht verfügbar, verwenden Sie eine unterstützte Quelle wie --password-stdin; behaupten Sie nicht, Zugangsdaten seien gespeichert worden.

Weiter geht es mit Schnellstart, Befehlsreferenz oder Dateien per RDP hoch- und herunterladen. Der Dateiaustausch benötigt zusätzlich Laufwerksumleitung auf dem Server und passende Dateiberechtigungen.