Betreiben Sie auf Ihrem Mac einen standardkonformen VNC-Server und teilen Sie Bildschirm, Zwischenablage, Dateien und sogar das IME mit QuickRemote, alles im lokalen Netzwerk und ohne Cloud-Relay.
Erste Schritte
1. Passwort festlegen
Offnen Sie die Einstellungen (Zahnrad-Symbol in der unteren Werkzeugleiste) und tragen Sie das VNC password ein. Standard-VNC-Clients nutzen das DES-Challenge des RFB-Protokolls, das nur die ersten 8 ASCII-kompatiblen Bytes beachtet. Wahlen Sie ein Passwort mit hochstens 8 Zeichen.
2. Server starten
- Im Hauptfenster auf Start klicken. Die Statusanzeige wechselt zu Running.
- Vier Listener werden gleichzeitig gestartet: VNC
5900, QREX-Steuerung5911, QREX-Media4010und die file API8766. - Klicken Sie auf Copy Info, um eine Einzeiler-Zeile mit Host, Ports und aktuellem PIN in die Zwischenablage zu kopieren.
3. Client verbinden
Fur einen Standard-VNC-Viewer (macOS Screen Sharing, RealVNC, TightVNC, mobile VNC-Apps):
- Offnen Sie den Viewer und geben Sie
vnc://<your-mac-ip>:5900als Adresse ein - Geben Sie das in Schritt 1 festgelegte VNC password ein
- Steuern Sie Ihren Mac sofort: Tastatur, Maus, Kopieren/Einfugen uber RFB
Fur die QuickRemote-App:
- Offnen Sie QuickRemote auf dem Telefon oder Tablet und wahlen Sie Add Mac
- Geben Sie die 6-stellige Pairing-PIN ein, die DeskVNCServer anzeigt (oder scannen Sie den QR-Code, sofern Ihre QuickRemote-Version das unterstutzt)
- QuickRemote speichert das erhaltene Bearer-Token und schaltet die erweiterten Funktionen frei: IME, Audio, Zwischenablage-Sync und Dateitransfer
Oberflachenubersicht
Statuszeile
| Element | Beschreibung |
|---|---|
| Server-Label | Identifiziert dieses Panel. |
| Status-Badge | Running, solange die Listener aktiv sind, sonst Stopped. |
Aktions-Buttons
- Start: Bringt alle vier Listener hoch.
- Stop: Schliesst alle Listener und trennt aktive Sitzungen.
- Copy Info: Kopiert eine kurze Verbindungsubersicht (Host, VNC-Port, Steuerport, PIN) in die Zwischenablage, um sie einfach mit einem Client zu teilen.
Verbindungspanel
Zeigt den Bind-Host, die Ports, die aktuelle Server ID und die aktive Pairing-PIN. Der Text wird bei Anderungen automatisch aktualisiert.
QuickRemote-API-Panel
Schnellreferenz fur die vom Server gesprochenen Protokolle. Listet unterstutzte RFB-Versionen, die Form der QREX-Endpunkte und den IME-Befehlssatz auf, damit QuickRemote (oder Ihr eigener Client) weiss, was verfugbar ist.
Protokolle und Ports
| Dienst | Standardport | Protokoll | Verwendet von |
|---|---|---|---|
| VNC / RFB | TCP 5900 | RFB 3.8 / 3.7 / 3.3 | Jeder Standard-VNC-Client |
| QREX control | TCP 5911 | HTTP JSON RPC + WebSocket | QuickRemote und andere QREX-Clients |
| QREX media | UDP 4010 | QuickRemote-kompatible Pakete | IME-Nachrichten, Audio-Streaming |
| File API | TCP 8766 | QuickRemote-kompatibles HTTP | Durchsuchen und Ubertragen von Dateien |
Authentifizierung
- VNC-Clients: RFB-DES-Passwort (erste 8 ASCII-kompatible Bytes des konfigurierten Passworts).
- QREX-Clients: Der initiale 6-stellige PIN-Austausch unter
POST /qr/v1/pairliefert ein Bearer-Token. Jeder folgende QREX-HTTP-Aufruf und jeder WebSocket-Frame mussAuthorization: Bearer <token>enthalten. - Ist das VNC password leer, kundigt der Server den Standard-RFB-No-Auth-Modus an. Nur fur vertrauenswurdige LAN-Segmente sinnvoll.
Schnellreferenz QREX-Endpunkte
GET /qr/v1/capabilities # public, returns supported features
POST /qr/v1/pair # public, exchange PIN for Bearer token
GET /qr/v1/ws # WebSocket, auth required
POST /qr/v1/ime/get # auth required, query active IME
POST /qr/v1/ime/list # auth required, list available IMEs
POST /qr/v1/ime/set # auth required, switch IME
POST /qr/v1/ime/toggle # auth required, toggle IME on/off
POST /qr/v1/ime/commit # auth required, commit a text string
Einstellungen
| Einstellung | Standard | Beschreibung |
|---|---|---|
| Bind host | 0.0.0.0 | Schnittstelle, auf der gelauscht wird. Setzen Sie 127.0.0.1 fur reinen Localhost-Betrieb. |
| VNC port | 5900 | TCP-Port fur den standardisierten RFB-Listener. |
| QREX control port | 5911 | TCP-Port fur HTTP-+-WebSocket-QREX-Verkehr. |
| QREX media UDP port | 4010 | UDP-Port fur IME- und Audio-Seitenkanalpakete. |
| QuickRemote file API port | 8766 | TCP-Port fur die Datei-Browser- und Transfer-API. |
| VNC password | (leer) | Bis zu 8 ASCII-kompatible Bytes. Leer bedeutet No-Auth auf dem VNC-Kanal. |
| QREX bearer token | (generiert) | Beim Pairing ausgestelltes aktives Token. Zur Erneuerung erneut pairen oder dieses Feld bearbeiten. |
| Pairing PIN | (generiert) | Beim Pairing an QuickRemote ubermittelte 6-stellige PIN. Andert sich bei Neugenerierung. |
| Stable server ID | (generiert) | Langlebige Kennung, mit der QuickRemote diesen Mac erkennt. |
| Start server automatically | Off | Listener beim App-Start hochfahren. |
| Allow remote keyboard and mouse | On | Ausschalten, um Sitzungen reinen Anzeigemodus zu erzwingen. |
| Enable IME bridge | On | Erlaubt QREX-Clients, die macOS-Eingabemethode abzufragen und zu steuern. |
| Enable audio API | Off | Erlaubt Opus-Audio-Streaming uber QREX-Media-UDP. Standardmassig aus, um CPU zu sparen. |
| Enable clipboard sync | On | Spiegelt den Inhalt der Zwischenablage zwischen Mac und Remote-Client. |
| Enable file transfer | On | Erlaubt QuickRemote, Dateien aufzulisten und zu lesen. Nur lesen, solange keine Anderungen aktiviert sind. |
| Enable file mutations | Off | Erlaubt Uploads, Umbenennen und Loschen. Standardmassig aus; nur fur vertrauenswurdige Clients aktivieren. |
| Max frame width | 1440 | Obergrenze der Bildschirmaufnahme-Breite. Niedrigere Werte reduzieren die Bandbreite. |
| Max frame height | 900 | Obergrenze der Bildschirmaufnahme-Hohe. |
| Frame rate | 12 | Zielwert fur die an Clients gesendeten Bilder pro Sekunde. |
Client-Beispiele
macOS Screen Sharing
- Finder → Gehe zu → Mit Server verbinden
- Tippen Sie
vnc://<your-mac-ip>:5900 - VNC password eingeben
cURL: Capabilities abfragen
curl http://<your-mac-ip>:5911/qr/v1/capabilities
cURL: Pairen und die IME bridge aufrufen
# 1. Exchange the PIN for a Bearer token
TOKEN=$(curl -s http://<your-mac-ip>:5911/qr/v1/pair \
-H "Content-Type: application/json" \
-d '{"pin":"123456"}' | jq -r .token)
# 2. Commit text via the IME bridge
curl http://<your-mac-ip>:5911/qr/v1/ime/commit \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"text":"hello from remote"}'
Tipps
- Senken Sie Frame-Rate und maximale Bildgrosse, wenn Sie uber eine langsame Wi-Fi-Strecke oder ein VPN routen.
- Pairen Sie jedes Gerat einmal. Nach dem initialen PIN-Austausch uberlebt das Bearer-Token Neustarts, sodass QuickRemote stillschweigend wiederverbindet.
- Verwenden Sie Copy Info als schnellen Weg, Verbindungsdetails per Chat oder E-Mail zu senden; es enthalt alles, was ein Client benotigt.
- Lassen Sie Enable file mutations aus, sofern Sie wirklich keine Uploads benotigen. Der Nur-lesen-Modus reicht zum Durchsehen von Screenshots, Notizen oder Downloads.
- Deaktivieren Sie die Audio API, wenn Sie sie nicht verwenden. Auch im Leerlauf kosten Codecs ein wenig CPU im Encode-Pfad.
Fehlerbehebung
Der Server startet nicht
- Moglicherweise belegt bereits ein anderer VNC-Server (z. B. macOS Screen Sharing) Port 5900. Stoppen Sie ihn unter System Settings → General → Sharing oder andern Sie den Port in den DeskVNCServer-Einstellungen.
- Die Ports 5911 / 4010 / 8766 mussen alle frei sein. Prufen Sie mit
lsof -i :5911und ahnlichen Befehlen.
VNC-Clients konnen sich nicht authentifizieren
- Stellen Sie sicher, dass das Passwort hochstens 8 ASCII-kompatible Bytes hat. Multibyte-Zeichen oder langere Zeichenketten werden von der RFB-DES-Authentifizierung stillschweigend abgeschnitten.
- Wenn Sie absichtlich kein Passwort wollen, lassen Sie das Feld leer und verbinden Sie sich mit einem Viewer, der VNC-No-Auth unterstutzt.
QuickRemote kann nicht pairen
- Bestatigen Sie, dass Telefon oder Tablet im gleichen Wi-Fi wie der Mac sind.
- Offnen Sie das Verbindungspanel und lesen Sie den PIN erneut ab. Die PIN lasst sich aus den Einstellungen neu generieren.
- Prufen Sie die macOS-Firewall-Einstellungen: eingehende Verbindungen auf den QREX-Ports mussen erlaubt sein.
Die Fernsteuerung wirkt traage
- Senken Sie Frame-Rate und maximale Bildgrosse in den Einstellungen.
- Deaktivieren Sie nicht genutzte Funktionen (Audio, Zwischenablage, IME), um CPU freizugeben.
Dateien werden nicht ubertragen
- Stellen Sie sicher, dass Enable file transfer aktiv ist. Nur-lesen-Auflistungen funktionieren auch ohne Enable file mutations.
- Schlagen Uploads fehl, aktivieren Sie zusatzlich Enable file mutations. Ansonsten beantwortet die File API nur Leseanfragen.
Datenschutz
- Alle Sitzungen laufen direkt zwischen Client und Ihrem Mac. Kein Cloud-Relay, keine Telemetrie, keine Analytics.
- Das VNC password, das QREX-Bearer-Token, die Pairing-PIN und die Stable Server ID werden ausschliesslich in den lokalen App-Einstellungen abgelegt.
- File mutations sind standardmassig aus. Remote-Clients konnen nur lesen, bis Sie explizit Schreibzugriff gewahren.
- Jede Erweiterung (Audio, Zwischenablage, Dateitransfer, IME, Remote-Eingabe) lasst sich jederzeit deaktivieren, um die Funktion sofort zu entziehen.
- Wenn Sie den Server lokal auf dem Mac halten mochten, setzen Sie den Bind-Host auf
127.0.0.1.