Completar una pequeña tarea de edición remota
Conecta a un escritorio VNC existente, escribe una línea en un documento vacío y compruébala en una nueva captura. Esta guía describe rdp-cli 0.1.0 a partir de pruebas de aceptación de septiembre de 2026; no presenta una prueba nueva. El flujo de Mac del 20 de septiembre utilizó Ubuntu 24.04, TigerVNC 1.13.1 y xterm. Las pruebas posteriores de Linux también utilizaron TigerVNC con autenticación. El texto del ejemplo es didáctico y no reproduce esas sesiones.
Preparar el servidor y el cliente
Instala la descarga adecuada y sigue el inicio rápido. El equipo remoto debe tener un servidor VNC accesible y debes estar autorizado para ver y controlar su escritorio. Prepara un documento vacío en un editor remoto. rdp-cli no instala el servidor ni proporciona un modelo de IA.
VNC utiliza por defecto el puerto 5900 y autenticación con contraseña. Los modos de seguridad compatibles no cifran el transporte del escritorio: utiliza una red de confianza o una VPN. La autenticación VNC clásica solo usa los primeros ocho bytes UTF-8 de la contraseña. No añadas opciones exclusivas de RDP, como --user, --domain, distribución de pantallas o certificados.
Conectar con el protocolo correcto
Sustituye la dirección de documentación y el puerto. En macOS o Linux ejecuta este bloque en Bash; en macOS puedes iniciar bash primero. En Linux sustituye rdp-cli por el comando instalado o la ruta del ejecutable de tu arquitectura.
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
En Windows, abre PowerShell en el directorio del 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()
}
Lee el JSON y guarda data.session como SESSION. Comprueba ok y cualquier error.code; un fallo no justifica cambiar silenciosamente la autenticación. --vnc-security none solo sirve para un servidor configurado expresamente sin autenticación; debe indicarse de forma explícita y sin una fuente de contraseña. Una credencial guardada con --credential-ref es una alternativa a --password-stdin, no una segunda fuente de contraseña.
Observar, actuar y volver a comprobar
En los siguientes comandos de Windows sustituye rdp-cli por .\rdp-cli.exe; en Linux conserva la ruta correcta.
rdp-cli status --session SESSION
rdp-cli screenshot --session SESSION --out vnc-before.png
Abre vnc-before.png, confirma el escritorio y el editor previstos y guarda el data.observation de esa captura como OBSERVATION. Revisa el protocolo y los estados de conexión y control. Elige las coordenadas reales del documento remoto para X e Y:
rdp-cli click --session SESSION --desktop --x X --y Y --observation OBSERVATION
rdp-cli screenshot --session SESSION --out vnc-focused.png
Comprueba el foco en vnc-focused.png y usa el data.observation de esa respuesta como NEW_OBSERVATION:
rdp-cli type --session SESSION --text "VNC command check" --observation NEW_OBSERVATION
rdp-cli screenshot --session SESSION --out vnc-after.png
Abre vnc-after.png y comprueba que «VNC command check» aparece exactamente en el documento previsto. Enviar una entrada no demuestra que la aplicación la haya aceptado. No reutilices coordenadas de esta guía ni observaciones antiguas después de cambiar el tamaño, reconectar o cambiar el control.
Observar o recuperar la sesión
La ventana local es opcional. Para que una persona observe la misma sesión:
rdp-cli watch --session SESSION --viewer window
Se abre en modo de solo lectura. La pausa, la toma de control y la devolución del control son explícitas; el agente debe detenerse mientras la entrada esté pausada o una persona controle la sesión. Una reconexión o un cambio de tamaño del servidor invalida las observaciones y deja el control en pausa. Inspecciona una captura nueva antes de cualquier reanudación autorizada.
Si falla la conexión, comprueba dirección, puerto, autenticación y red; consulta el error en lugar de repetir contraseñas. Si el texto difiere, revisa el foco, la distribución del teclado y el método de entrada. Los eventos Unicode de VNC no garantizan que todas las aplicaciones y servidores acepten cualquier carácter. Si el resultado de una entrada es incierto, inspecciona la pantalla y consulta la operación original antes de repetirla.
Conocer los límites de VNC
VNC permite el flujo común de capturas, entradas y visualización, pero no el intercambio de archivos por unidad compartida, sonido, micrófono ni distribuciones de pantallas solicitadas por el cliente. Esas operaciones devuelven CAPABILITY_UNAVAILABLE. El portapapeles UTF-8 requiere negociar clipboard_utf8; en caso contrario, la codificación admitida es Latin-1. El visor no añade capacidades que falten en el protocolo.
Consulta las opciones exactas en la referencia de comandos, elige el protocolo con la comparación RDP/VNC y revisa la instalación de tu plataforma en el inicio rápido.