Es posible que no sepa quién fue Larry Gordon Tesler, pero en cuanto lo descubra, se sentirá como un aficionado en comparación. En serio: existe toda una página de Wikipedia dedicada a sus logros en Apple, Amazon y Yahoo, además de haber desarrollado y acuñado algunos de los conceptos fundamentales de todos los ordenadores personales modernos: WYSIWYG («lo que ves es lo que obtienes»), el primer «navegador» y la función de copiar y pegar. ¿Cuántas veces al día corta, copia o pega algo en su ordenador o dispositivo móvil? Todo esto se lo debemos a Larry.
Sobre el portapapeles de RDP
RDP cuenta con soporte de portapapeles integrado, lo que le permite copiar y pegar entre su sesión local y el sistema remoto exactamente como si lo estuviera usando de forma local. Es una función increíblemente cómoda que incluso admite distintos tipos de portapapeles, como texto enriquecido, imágenes y ficheros. Puede que sepa que las sesiones RDP integradas en RDM para Mac se basan en FreeRDP en lugar de en la implementación propia de Microsoft (que no se puede integrar dentro de otra aplicación). FreeRDP admite la misma funcionalidad de portapapeles que el cliente oficial de Microsoft, pero hasta ahora, RDM para Mac solo integraba los formatos de texto básicos. Nos complace anunciar que hemos añadido soporte para varios tipos nuevos de portapapeles, incluida una de nuestras funciones más solicitadas: ¡copiar y pegar ficheros!
Transferencia de ficheros mediante el portapapeles
A partir de RDM para Mac 2022.1.13, si desea transferir un fichero entre su ordenador y un sistema remoto conectado a través del tipo de sesión RDP integrada, ¡simplemente cópielo y péguelo! Copie el fichero en su sistema y péguelo en el ordenador remoto, o viceversa. Así de sencillo. Actualmente, esta función se encuentra en fase beta y, como tal, presenta algunas limitaciones. Solo puede transferir un único fichero (no un directorio ni una lista de ficheros) a la vez, y solo puede transferir ficheros entre su ordenador y la sesión remota (es decir, no puede copiar un fichero en una sesión y pegarlo en otra). El protocolo RDP permite omitir el portapapeles por completo si el fichero copiado es accesible a través de una unidad asignada (lo que puede mejorar el rendimiento), pero todavía no lo admitimos. Por último, el tamaño máximo de fichero que se puede transferir es de 4 GB (y en algunas versiones de servidor, solo 2 GB): se trata de una limitación técnica del propio protocolo RDP. Agradecemos sus comentarios sobre estos cambios y, con el tiempo, iremos implementando mejoras incrementales en macOS, además de dar soporte a esta funcionalidad en RDM para Linux y Windows (cuando se utiliza FreeRDP).
Los detalles técnicos
La transferencia de ficheros mediante copiar y pegar se ha hecho esperar debido a desafíos técnicos propios de macOS. Los portapapeles modernos funcionan mediante «renderizado diferido»: cuando copia algo al portapapeles, el sistema anuncia los datos a otras aplicaciones, pero estos no se transfieren hasta que realmente se pegan. Así, cuando copia un fichero en el sistema remoto, su información se añade al portapapeles, pero los datos no fluyen hasta que se pegan localmente. Aquí está el problema: el Finder de macOS no le permite pegar un fichero a menos que ya exista en el disco. Tradicionalmente (y en otras plataformas), podíamos solucionar esto mediante un «sistema de ficheros virtual» que abstrae el acceso a los ficheros; pero los VFS no son una solución adecuada en macOS (normalmente requieren una extensión del núcleo, algo que Apple ya no admite). En su lugar, cuando copia un fichero en el sistema remoto, creamos un fichero temporal de 0 bytes en el disco y anunciamos ese fichero al Finder.app. Cuando pega, utilizamos una API en modo de usuario para descargar el fichero sobre la marcha, antes de permitir finalmente que el pegado continúe desde la ubicación temporal. Este enfoque funciona, pero es responsable de algunas de las limitaciones mencionadas anteriormente. Estamos investigando un nuevo conjunto de API similares a VFS en macOS 11 y versiones posteriores que nos permitirán ofrecer una integración más fluida.
