DeskVNCServer - Przewodnik

Uruchom na Macu standardowy serwer VNC i udostępniaj ekran, schowek, pliki, a nawet metodę wprowadzania tekstu aplikacji QuickRemote — wszystko w sieci lokalnej, bez przekaźnika w chmurze.


Pierwsze kroki

1. Ustaw hasło

Otwórz Ustawienia (ikona koła zębatego na dolnym pasku narzędzi) i wypełnij pole Hasło VNC. Standardowi klienci VNC używają mechanizmu RFB DES, który uwzględnia tylko pierwsze 8 bajtów zgodnych z ASCII — wybierz hasło nie dłuższe niż 8 znaków.

O krótkich hasłach: To ograniczenie samego protokołu RFB, a nie DeskVNCServer. Jeśli potrzebujesz silniejszego uwierzytelniania, ogranicz serwer do sieci prywatnej albo użyj mechanizmu QREX (token Bearer po sparowaniu kodem PIN) i wyłącz hasło VNC.

2. Uruchom serwer

  1. W oknie głównym kliknij Start. Wskaźnik statusu zmieni się na Działa.
  2. Jednocześnie uruchamiane są cztery usługi nasłuchu: VNC 5900, sterowanie QREX 5911, media QREX 4010oraz API plików 8766.
  3. Kliknij Kopiuj informacje , aby skopiować do schowka jedną linię z hostem, portami i bieżącym kodem PIN.

3. Podłącz klienta

Dla standardowej przeglądarki VNC (Udostępnianie ekranu w macOS, RealVNC, TightVNC, mobilne aplikacje VNC):

  1. Otwórz przeglądarkę i wpisz vnc://<your-mac-ip>:5900 jako adres
  2. Wpisz hasło VNC ustawione w kroku 1
  3. Steruj Makiem od razu — klawiatura, mysz, kopiowanie i wklejanie przez RFB

Dla aplikacji QuickRemote:

  1. Otwórz QuickRemote na telefonie lub tablecie i wybierz Dodaj Maca
  2. Wpisz 6-cyfrowy kod PIN parowania pokazany przez DeskVNCServer (albo zeskanuj kod QR, jeśli Twoja wersja QuickRemote to obsługuje)
  3. QuickRemote zapisuje zwrócony token Bearer i odblokowuje funkcje rozszerzone — IME, dźwięk, synchronizację schowka i przesyłanie plików

Przegląd interfejsu

Wiersz statusu

ElementOpis
Etykieta serweraIdentyfikuje ten panel.
Plakietka statusuDziała gdy usługi nasłuchu są aktywne, Zatrzymano w przeciwnym razie.

Przyciski akcji

  • Start — Uruchamia wszystkie cztery usługi nasłuchu.
  • Stop — Zamyka wszystkie usługi nasłuchu i rozłącza aktywne sesje.
  • Kopiuj informacje — Kopiuje do schowka krótkie podsumowanie połączenia (host, port VNC, port sterowania, PIN), aby łatwo przekazać je klientowi.

Panel połączenia

Pokazuje host nasłuchu, porty, bieżący identyfikator serwera i aktywny kod PIN parowania. Tekst odświeża się automatycznie po zmianie ustawień.

Panel API QuickRemote

Szybki przegląd protokołów obsługiwanych przez serwer. Wymienia wspierane wersje RFB, strukturę punktów końcowych QREX i zestaw poleceń IME, aby QuickRemote (lub Twój własny klient) wiedział, co jest dostępne.


Protokoły i porty

UsługaPort domyślnyProtokółUżywane przez
VNC / RFBTCP 5900RFB 3.8 / 3.7 / 3.3Dowolny standardowy klient VNC
Sterowanie QREXTCP 5911HTTP JSON RPC + WebSocketQuickRemote i inni klienci QREX
Media QREXUDP 4010Pakiety zgodne z QuickRemoteKomunikaty IME, strumieniowanie dźwięku
API plikówTCP 8766HTTP zgodne z QuickRemotePrzeglądanie i przesyłanie plików

Uwierzytelnianie

  • Klienci VNC — hasło RFB DES (pierwsze 8 bajtów zgodnych z ASCII ze skonfigurowanego hasła).
  • Klienci QREX — Początkowa wymiana 6-cyfrowego kodu PIN pod adresem POST /qr/v1/pair zwraca token Bearer. Każde kolejne wywołanie HTTP QREX i każda ramka WebSocket muszą zawierać Authorization: Bearer <token>.
  • Jeśli hasło VNC jest puste, serwer ogłasza standardowy tryb RFB bez uwierzytelniania. Przydatne wyłącznie w zaufanych segmentach sieci LAN.

Skrócony przegląd punktów końcowych QREX

GET  /qr/v1/capabilities    # publiczne, zwraca obsługiwane funkcje
POST /qr/v1/pair            # publiczne, wymiana PIN na token Bearer
GET  /qr/v1/ws              # WebSocket, wymaga uwierzytelnienia
POST /qr/v1/ime/get         # wymaga uwierzytelnienia, odczyt aktywnego IME
POST /qr/v1/ime/list        # wymaga uwierzytelnienia, lista dostępnych IME
POST /qr/v1/ime/set         # wymaga uwierzytelnienia, przełączenie IME
POST /qr/v1/ime/toggle      # wymaga uwierzytelnienia, włączenie/wyłączenie IME
POST /qr/v1/ime/commit      # wymaga uwierzytelnienia, zatwierdzenie ciągu tekstu

Ustawienia

UstawienieDomyślnieOpis
Host nasłuchu0.0.0.0Interfejs, na którym serwer nasłuchuje. Ustaw 127.0.0.1 , aby ograniczyć dostęp do localhost.
Port VNC5900Port TCP standardowego nasłuchu RFB.
Port sterowania QREX5911Port TCP dla ruchu QREX HTTP + WebSocket.
Port UDP mediów QREX4010Port UDP dla pakietów pomocniczego kanału IME i dźwięku.
Port API plików QuickRemote8766Port TCP dla API przeglądania i przesyłania plików.
Hasło VNC(puste)Maksymalnie 8 bajtów zgodnych z ASCII. Puste oznacza brak uwierzytelniania na kanale VNC.
Token Bearer QREX(generowany)Aktywny token wydany podczas parowania. Aby go odnowić, sparuj ponownie lub zmień to pole.
Kod PIN parowania(generowany)6-cyfrowy kod PIN pokazywany aplikacji QuickRemote podczas parowania. Zmienia się przy ponownym wygenerowaniu.
Stały identyfikator serwera(generowany)Długotrwały identyfikator, po którym QuickRemote rozpoznaje tego Maca.
Uruchamiaj serwer automatycznieWył.Uruchamia usługi nasłuchu przy starcie aplikacji.
Zezwalaj na zdalną klawiaturę i myszWł.Wyłącz, aby sesje były tylko do podglądu.
Włącz mostek IMEWł.Pozwala klientom QREX odczytywać i zmieniać metodę wprowadzania tekstu w macOS.
Włącz API dźwiękuWył.Zezwala na strumieniowanie dźwięku Opus przez UDP mediów QREX. Domyślnie wyłączone, aby oszczędzać CPU.
Włącz synchronizację schowkaWł.Synchronizuje zawartość schowka między Makiem a zdalnym klientem.
Włącz przesyłanie plikówWł.Pozwala aplikacji QuickRemote wyświetlać i odczytywać pliki. Tylko do odczytu, dopóki nie włączysz także modyfikacji.
Włącz modyfikacje plikówWył.Zezwala na przesyłanie, zmianę nazw i usuwanie. Domyślnie wyłączone — włączaj tylko dla zaufanych klientów.
Maksymalna szerokość klatki1440Ograniczenie szerokości przechwytywanego ekranu. Niższe wartości zmniejszają zużycie łącza.
Maksymalna wysokość klatki900Ograniczenie wysokości przechwytywanego ekranu.
Liczba klatek na sekundę12Docelowa liczba klatek na sekundę wysyłanych do klientów.

Przykłady klientów

Udostępnianie ekranu w macOS

  1. Finder → Idź → Połącz z serwerem
  2. Wpisz vnc://<your-mac-ip>:5900
  3. Wprowadź hasło VNC

cURL — sprawdzenie możliwości

curl http://<your-mac-ip>:5911/qr/v1/capabilities

cURL — parowanie i wywołanie mostka IME

# 1. Wymień PIN na token Bearer
TOKEN=$(curl -s http://<your-mac-ip>:5911/qr/v1/pair \
  -H "Content-Type: application/json" \
  -d '{"pin":"123456"}' | jq -r .token)

# 2. Zatwierdź tekst przez mostek IME
curl http://<your-mac-ip>:5911/qr/v1/ime/commit \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text":"hello from remote"}'

Wskazówki

  • Zmniejsz liczbę klatek na sekundę i maksymalne wymiary klatki, gdy korzystasz z wolnego łącza Wi-Fi lub prowadzisz połączenie przez VPN.
  • Każde urządzenie paruj tylko raz. Po początkowej wymianie kodu PIN token Bearer przetrwa ponowne uruchomienia, więc QuickRemote łączy się ponownie bez pytania.
  • Użyj Kopiuj informacje , aby szybko przesłać dane połączenia przez czat lub e-mail — zawierają wszystko, czego potrzebuje klient.
  • Pozostaw Włącz modyfikacje plików wyłączone, o ile naprawdę nie potrzebujesz przesyłania plików. Tryb tylko do odczytu wystarcza do przeglądania zrzutów ekranu, notatek czy pobranych plików.
  • Wyłącz API dźwięku, gdy z niego nie korzystasz. Bezczynne kodeki i tak zużywają trochę mocy procesora na ścieżce kodowania.

Rozwiązywanie problemów

Serwer nie uruchamia się

  • Inny serwer VNC (np. Udostępnianie ekranu w macOS) może już zajmować port 5900. Zatrzymaj go w Ustawieniach systemowych → Ogólne → Udostępnianie albo zmień port w ustawieniach DeskVNCServer.
  • Porty 5911 / 4010 / 8766 muszą być wolne. Sprawdź poleceniem lsof -i :5911 i podobnymi.

Klienci VNC nie mogą się uwierzytelnić

  • Upewnij się, że hasło ma najwyżej 8 bajtów zgodnych z ASCII. Znaki wielobajtowe i dłuższe ciągi są po cichu obcinane przez uwierzytelnianie RFB DES.
  • Jeśli celowo nie chcesz hasła, pozostaw pole puste i połącz się przeglądarką obsługującą tryb VNC bez uwierzytelniania.

QuickRemote nie może się sparować

  • Sprawdź, czy telefon lub tablet jest w tej samej sieci Wi-Fi co Mac.
  • Otwórz panel połączenia i odczytaj PIN ponownie. Kod PIN można wygenerować na nowo w Ustawieniach.
  • Sprawdź ustawienia zapory macOS — połączenia przychodzące na portach QREX muszą być dozwolone.

Zdalne sterowanie działa z opóźnieniem

  • Zmniejsz liczbę klatek na sekundę i maksymalne wymiary klatki w Ustawieniach.
  • Wyłącz nieużywane funkcje (dźwięk, schowek, IME), aby odciążyć procesor.

Pliki nie są przesyłane

  • Sprawdź, czy Włącz przesyłanie plików jest włączone. Przeglądanie tylko do odczytu działa bez Włącz modyfikacje plików.
  • Jeśli przesyłanie się nie udaje, włącz także Włącz modyfikacje plików. W przeciwnym razie API plików odpowiada wyłącznie na żądania odczytu.

Prywatność

  • Wszystkie sesje działają bezpośrednio między klientem a Twoim Makiem. Nie ma przekaźnika w chmurze, telemetrii ani analityki.
  • Hasło VNC, token Bearer QREX, kod PIN parowania i stały identyfikator serwera są przechowywane wyłącznie w lokalnych ustawieniach aplikacji.
  • Modyfikacje plików są domyślnie wyłączone. Zdalni klienci mogą tylko odczytywać dane, dopóki nie przyznasz im jawnie prawa zapisu.
  • Każde rozszerzenie (dźwięk, schowek, przesyłanie plików, IME, zdalne sterowanie) możesz wyłączyć w dowolnej chwili, natychmiast odbierając to uprawnienie.
  • Jeśli chcesz, aby serwer pozostał dostępny tylko na Twoim Macu, ustaw host nasłuchu na 127.0.0.1.