¿Configurando la resolución predeterminada y la profundidad de color para vncserver-x11-serviced de RealVNC?

¿Configurando la resolución predeterminada y la profundidad de color para vncserver-x11-serviced de RealVNC?

Cuando busco en la web información sobre cómo configurar la resolución predeterminada y la profundidad de color para sesiones RealVNC, siempre encuentro cosas que hablan sobre pasar parámetros de línea de comandos a vncserver, como vncserver -geometry 1024x768o algo así. Sin embargo, tengo mi sistema configurado para iniciar el servidor RealVNC al arrancar (para los niveles de ejecución 2-5; estoy usando Debian) a través del /etc/init.d/vncserver-x11-servicedscript que instala RealVNC; No estoy usando el vncservercomando. ¿Cómo configuro esto para que tenga una resolución y profundidad de color predeterminadas particulares? ¿Existe algún archivo de configuración en algún lugar que pueda usar?

Respuesta1

NOTA: Soy consciente de que esta respuesta se aplica al modo virtual de RealVNC en lugar del modo de servicio ( vncserver-x11-serviced), pero creo que el modo virtual es generalmente más útil de todos modos y es el único cuya resolución se puede cambiar.dinamicamente. Probablemente sea una técnica bastante similar para cambiar la resolución de RealVNC cuando se ejecuta en modo de servicio.


Después de instalar RealVNC (en el momento de escribir este artículo, versión 5.2.1), aplicarle una licencia gratuita usando vnclicense -add ...y ejecutar el servidor VNC en su "Modo virtual" (también hay modos de Servicio y Usuario en los que no entraré). aquí porque ya es bastante complejo), descubrí cuán profunda es esta madriguera. :-) La documentación para esto está lejos de ser completa u obvia, y los únicos artículos de KB en el sitio de RealVNC sonalgo anticuado(hablando del vncservercomando en lugar delrecomendación actual aparente, vncserver-virtual), o sobrecambiando la resolución dinámicamentecon RandRduranteuna sesión, sin elegir qué resolución se debe utilizar cuando se inicia el servidor VNC.

En primer lugar, la palabra "geometría" tiende a usarse en el contexto de The X Window System en lugar de la palabra "resolución". La resolución predeterminada que le proporcionó el servidor VNC (¿o tal vez el propio X?) parece ser 800x600.

Ahora, puede pasar parámetros directamente al servidor X al iniciar el servidor RealVNC manualmente desde la línea de comandos (u obviamente de forma automatizada al arrancar desde algo como rc.local), y el parámetro a pasar para establecer la resolución es geometry. Entonces, esto iniciará una instancia de servidor virtual RealVNC con una resolución de 1280x1024:

> vncserver-virtual -geometry 1280x1024

Normalmente ejecuto como root cuando pruebo cosas como esta, así que cambio al usuario en cuyo escritorio quiero conectar VNC primero:

> sudo -u [someuser] vncserver-virtual -geometry 1280x1024

Por supuesto , eso requiere pasar un geometryparámetro en la línea de comando. RealVNC también admite la configuración del servicio VNC a través de varios archivos de configuración. Sin embargo, de manera confusa, la configuración para "Xvnc" (el servidor RealVNC subyacente utilizado en sistemas UNIX que se comunica con X y que necesita tomar el geometryparámetro de configuración) tiene que ir en undiferente ubicaciónde los archivos de configuración "normales" de RealVNC; ya sea /etc/vnc/config.custompara configuraciones de todo el servidor o ~/.vnc/configpara configuraciones específicas del usuario. Estos están completamente separados de los otros archivos de configuración de RealVNC y descubrirlo fue bastante difícil. Como dije, los documentos sobre esto son terribles. Entonces, para no tener que especificar la resolución en la línea de comando, cree el archivo /etc/vnc/config.customy asígnele el siguiente contenido:

-geometry 1280x1024

Entoncescuando corres:

> sudo -u [someuser] vncserver-virtual

... la resolución para esa instancia del servidor VNC será de forma predeterminada 1280x1024.

Supongo que este archivo de configuración también será utilizado por el demonio.vncserver-virtualdasí mismo para cada uno de losvncserver-virtualinstancias en las que se genera (de hecho, puede ser la única forma de establecer la resolución predeterminada para el demonio), pero como el demonio requiere una licencia empresarial para su uso y solo estoy usando la licencia gratuita, no pude probarlo.

¡Uf!


Por cierto, mencioné a RandR antes. Esa es otra forma de obtener una resolución/geometría diferente al conectarse al servidor RealVNC en sistemas UNIX. Sólo funciona cuando el servidor RealVNC se ejecuta en "Modo virtual". También permite el cambio dinámico de resoluciones durante la sesión VNC y es algomejor documentadoque los -geometryparámetros que mencioné anteriormente. :-) Cuando se establece esta configuración (yélva en el conjunto "normal" de archivos de configuración de RealVNC, no en los separados para Xvnc... vaya figura), debería poder usar el xrandrcomando desde dentro de la sesión de VNC para cambiar la resolución dinámicamente a una de las resoluciones especificadas en el RandRajuste.

información relacionada