¡Hola!
Hace unas horas se ha actualizado el servidor de NVDA Remote a la versión 1.9. Esta actualización soluciona un problema crítico en Linux que impedía arrancar al servidor tras reiniciar el sistema operativo, por lo que se recomienda encarecidamente a todos los usuarios instalarla. Además se toman más medidas para gestionar bien el uso de la memoria, y se introducen otras mejoras. Veamos con más detalle la lista de cambios.
Cambios en la versión 1.9
- Se ha solucionado un fallo crítico que se introdujo en la versión 1.7, y que impedía que el servidor pudiera arrancar tras reiniciar el sistema. No contábamos con que el directorio /run fuera volátil, y por lo tanto se asumía que el directorio /run/NVDARemoteServer siempre existía.
- En distribuciones que utilizan el gestor de servicios systemd, se usa systemd-tmpfiles para crear archivos y carpetas temporales como el que se ha mencionado antes. En otras distribuciones, las unidades de servicio se encargan de esta tarea.
- El hilo principal llama manualmente al recolector de basura de Python en cada iteración. Se ha demostrado que en algunas distribuciones, como Centos 7, esto mantiene el consumo de memoria en niveles increíblemente bajos.
- El servidor ahora crea un par interno de sockets al arrancar, uno conectado al otro. Uno de ellos se pasa como parámetro en la lista de lectura de todas las llamadas a select.select, haciendo que esta función no bloquee el hilo en el que se ejecuta. Así se debería solucionar el problema por el que el servidor tarda en detenerse. El consumo de CPU podría aumentar ligeramente, aunque se han tomado medidas para que no sea así.
- En Windows, al pulsar intro en el fichero service_manager.cmd, el script activará el control de cuentas de usuario para obtener privilegios elevados. Esto sólo sucede si no se abre utilizando la opción Ejecutar como administrador.
- Se ha añadido un script de instalación al paquete para ArchLinux. De esa forma, especialmente al desinstalar, hará una limpieza exhaustiva al igual que pasa con las otras distribuciones.
- En Arch Linux, antes se llamaba accidentalmente a python2 al solicitar un reinicio del servidor.
- En plataformas que usan systemd, se deshabilita el servicio antes de la desinstalación.
- Se han eliminado un montón de archivos duplicados en el código fuente, reduciendo las posibilidades de cometer futuros errores.
- Los binarios para Windows se han construido con Pywin32, compilación 224.
- Se ha reducido el número de contenedores intermedios en la construcción de la imagen para Docker.
Como siempre, puedes descargar esta actualización desde la página de la publicación en GitHub. Para instalarla, no dudes en consultar la guía de usuario del servidor de NVDA Remote, donde se dan instrucciones para todas las plataformas.
El desarrollo de este servidor se hace exclusivamente desde la comunidad de NVDA en español, y se sostiene gracias a las contribuciones de los usuarios. Si te gusta, plantéate hacer una donación a la comunidad.
¡Feliz miércoles!