DeskVNCServer - Guía

Ejecuta un servidor VNC estandar en tu Mac y comparte pantalla, portapapeles, archivos e incluso el IME con QuickRemote, todo en tu red local, sin retransmision en la nube.


Primeros pasos

1. Establecer una contrasena

Abre Ajustes (icono de engranaje, barra inferior) y rellena la VNC password. Los clientes VNC estandar usan el desafio DES de RFB, que solo respeta los primeros 8 bytes compatibles con ASCII: elige una contrasena de hasta 8 caracteres.

Sobre las contrasenas cortas: es una limitacion del propio protocolo RFB, no de DeskVNCServer. Si necesitas autenticacion mas fuerte, restringe el servidor a una red privada o utiliza el flujo QREX (token Bearer tras un emparejamiento con PIN) y deshabilita la contrasena VNC.

2. Iniciar el servidor

  1. En la ventana principal, haz clic en Start. El indicador de estado pasa a Running.
  2. Se activan cuatro escuchas simultaneamente: VNC 5900, control QREX 5911, media QREX 4010 y la API de archivos 8766.
  3. Haz clic en Copy Info para copiar al portapapeles una linea con el host, los puertos y el PIN actual.

3. Conectar un cliente

Para un visor VNC estandar (macOS Screen Sharing, RealVNC, TightVNC, apps VNC moviles):

  1. Abre el visor e introduce vnc://<your-mac-ip>:5900 como direccion
  2. Escribe la VNC password que definiste en el paso 1
  3. Controla tu Mac al instante: teclado, raton y copiar/pegar mediante RFB

Para la app QuickRemote:

  1. Abre QuickRemote en el telefono o tablet y elige Add Mac
  2. Introduce el PIN de emparejamiento de 6 digitos que muestra DeskVNCServer (o escanea el codigo QR si tu version de QuickRemote lo admite)
  3. QuickRemote almacena el token Bearer devuelto y desbloquea las funciones extendidas: IME, audio, sincronizacion de portapapeles y transferencia de archivos

Vision general de la interfaz

Fila de estado

ElementoDescripcion
Etiqueta del servidorIdentifica este panel.
Insignia de estadoRunning mientras las escuchas estan activas, Stopped en caso contrario.

Botones de accion

  • Start: activa las cuatro escuchas.
  • Stop: cierra todas las escuchas y desconecta las sesiones activas.
  • Copy Info: copia al portapapeles un resumen breve de conexion (host, puerto VNC, puerto de control, PIN) para compartirlo facilmente con un cliente.

Panel de conexion

Muestra el host de enlace, los puertos, el Server ID actual y el PIN de emparejamiento activo. El texto se actualiza automaticamente cuando cambian los ajustes.

Panel de QuickRemote API

Referencia rapida de los protocolos que habla el servidor. Lista las versiones de RFB soportadas, la forma de los endpoints QREX y el conjunto de comandos IME, para que QuickRemote (o tu propio cliente) sepa que esta disponible.


Protocolos y puertos

ServicioPuerto por defectoProtocoloUsado por
VNC / RFBTCP 5900RFB 3.8 / 3.7 / 3.3Cualquier cliente VNC estandar
QREX controlTCP 5911HTTP JSON RPC + WebSocketQuickRemote y otros clientes QREX
QREX mediaUDP 4010Paquetes compatibles con QuickRemoteMensajes IME, streaming de audio
File APITCP 8766HTTP compatible con QuickRemoteNavegacion y transferencia de archivos

Autenticacion

  • Clientes VNC: contrasena RFB DES (primeros 8 bytes compatibles con ASCII de la contrasena configurada).
  • Clientes QREX: el intercambio inicial del PIN de 6 digitos en POST /qr/v1/pair devuelve un token Bearer. Cada llamada HTTP QREX y cada frame WebSocket posteriores deben incluir Authorization: Bearer <token>.
  • Si la VNC password esta vacia, el servidor anuncia el modo no-auth estandar de RFB. Util unicamente en segmentos LAN de confianza.

Referencia rapida de endpoints QREX

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

Ajustes

AjustePor defectoDescripcion
Bind host0.0.0.0Interfaz en la que escuchar. Establece 127.0.0.1 para uso solo en localhost.
VNC port5900Puerto TCP del listener RFB estandar.
QREX control port5911Puerto TCP para el trafico HTTP + WebSocket QREX.
QREX media UDP port4010Puerto UDP para paquetes auxiliares de IME y audio.
QuickRemote file API port8766Puerto TCP para la API de navegacion y transferencia de archivos.
VNC password(vacio)Hasta 8 bytes compatibles con ASCII. Vacio significa sin autenticacion en el canal VNC.
QREX bearer token(generado)Token activo emitido en el emparejamiento. Para regenerarlo, vuelve a emparejar o edita este campo.
Pairing PIN(generado)PIN de 6 digitos mostrado a QuickRemote durante el emparejamiento. Rota al regenerarlo.
Stable server ID(generado)Identificador de larga duracion que QuickRemote usa para reconocer este Mac.
Start server automaticallyOffActivar las escuchas al iniciar la app.
Allow remote keyboard and mouseOnDesactivar para sesiones de solo visualizacion.
Enable IME bridgeOnPermite a los clientes QREX consultar y controlar el metodo de entrada de macOS.
Enable audio APIOffPermite streaming de audio Opus por QREX media UDP. Desactivado por defecto para ahorrar CPU.
Enable clipboard syncOnRefleja el contenido del portapapeles entre el Mac y el cliente remoto.
Enable file transferOnPermite a QuickRemote listar y leer archivos. Solo lectura salvo que tambien se habiliten las modificaciones.
Enable file mutationsOffPermite subidas, renombrados y borrados. Desactivado por defecto; activalo solo para clientes de confianza.
Max frame width1440Limite del ancho de captura de pantalla. Valores menores reducen el ancho de banda.
Max frame height900Limite de la altura de captura de pantalla.
Frame rate12Objetivo de cuadros por segundo enviados a los clientes.

Ejemplos de cliente

macOS Screen Sharing

  1. Finder → Ir → Conectarse al servidor
  2. Escribe vnc://<your-mac-ip>:5900
  3. Introduce la VNC password

cURL: descubrir las capabilities

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

cURL: emparejar y llamar al IME bridge

# 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"}'

Consejos

  • Reduce la tasa de frames y las dimensiones maximas de cuadro cuando estes en una Wi-Fi lenta o pasando la conexion por una VPN.
  • Empareja cada dispositivo una sola vez. Tras el primer intercambio de PIN, el token Bearer sobrevive a los reinicios y QuickRemote se reconecta de forma silenciosa.
  • Usa Copy Info como atajo para enviar los datos de conexion por chat o email: incluye todo lo que necesita un cliente.
  • Manten Enable file mutations desactivado a menos que realmente necesites subidas. El modo de solo lectura es suficiente para revisar capturas, notas o descargas.
  • Desactiva la audio API cuando no la uses. Los codecs en reposo siguen consumiendo algo de CPU en el camino de codificacion.

Resolucion de problemas

El servidor no arranca

  • Puede que otro servidor VNC (por ejemplo, macOS Screen Sharing) ya este en el puerto 5900. Detenlo desde System Settings → General → Sharing, o cambia el puerto en los ajustes de DeskVNCServer.
  • Los puertos 5911 / 4010 / 8766 deben estar libres. Comprueba con lsof -i :5911 y similares.

Los clientes VNC fallan al autenticarse

  • Asegurate de que la contrasena tenga como maximo 8 bytes compatibles con ASCII. Los caracteres multibyte o las cadenas mas largas son truncadas silenciosamente por la autenticacion RFB DES.
  • Si quieres deliberadamente no usar contrasena, deja el campo vacio y conecta con un visor que admita el modo no-auth de VNC.

QuickRemote no se empareja

  • Confirma que el telefono o tablet esta en la misma Wi-Fi que el Mac.
  • Abre el panel de conexion y vuelve a leer el PIN. El PIN puede regenerarse desde los ajustes.
  • Revisa la configuracion del cortafuegos de macOS: deben permitirse las conexiones entrantes en los puertos QREX.

El control remoto va lento

  • Reduce la tasa de frames y las dimensiones maximas de cuadro en los ajustes.
  • Desactiva las funciones que no uses (audio, portapapeles, IME) para liberar CPU.

Los archivos no se transfieren

  • Comprueba que Enable file transfer esta activado. Los listados de solo lectura funcionan sin Enable file mutations.
  • Si fallan las subidas, activa tambien Enable file mutations. De lo contrario, la File API solo responde a peticiones de lectura.

Privacidad

  • Todas las sesiones se ejecutan directamente entre el cliente y tu Mac. No hay retransmision en la nube, ni telemetria, ni analiticas.
  • La VNC password, el token Bearer QREX, el PIN de emparejamiento y el Stable Server ID se almacenan unicamente en los ajustes locales de la app.
  • Las modificaciones de archivos estan desactivadas por defecto. Los clientes remotos solo pueden leer hasta que concedas explicitamente acceso de escritura.
  • Puedes desactivar cualquier extension (audio, portapapeles, transferencia de archivos, IME, entrada remota) en cualquier momento para revocar esa capacidad de inmediato.
  • Si quieres mantener el servidor solo en tu Mac, establece el bind host a 127.0.0.1.