Esta es una versión actualizada de mi respuesta anterior que estaba relacionada con Ubuntu 12.04. En 16.04 (Xenial) se necesitan 3 pasos para establecer DPI correctamente en lugar de 2.
Explicaré el ejemplo del sistema con Ubuntu 12.04 con Gnome Classic y un monitor con resolución 1680x1050. Mi configuración inicial: xdpyinfo | grep dotsinformó 96x96 dots, xrdb -query | grep dpiinformó Xft.dpi: 96, grep DPI /var/log/Xorg.0.loginformó algunas configuraciones extrañas NOUVEAU(0): DPI set to (90, 88).
En 16.04, los resultados de todos estos 3 comandos fueron consistentes y fueron iguales a 96. Aunque dicho consenso es mejor que el desorden de 12.04, el valor informado está codificado y lejos del valor real de DPI.
Calculemos el DPI óptimo para mi monitor. El tamaño real de la pantalla se puede encontrar con el comando xrandr | grep -w connected(convertir la salida a centímetros) o con una regla larga a mano. En mi caso: X = 47.4cm; Y = 29.6cm. Divídalos por 2.54 para obtener el tamaño en pulgadas X ~ 18.66in:; Y ~ 11.65in. Por último, divida la cantidad real de puntos (según su resolución) por el tamaño en pulgadas X = 1680/18.66 ~ 90dpi:; Y = 1050/11.65 ~ 90dpi. Entonces mi ppp real es 90.
Tenga en cuenta que el método manual de medición puede ser más preciso que el resultado del comando xrandr | grep -w connectedporque las versiones más nuevas del servidor X ignoran el tamaño informado por EDID y calculan el tamaño utilizando la resolución de pantalla y un valor codificado de DPI (más información aquí )
Otro método para encontrar el tamaño del monitor es leer su EDID directamente. Instale el read-edidpaquete y ejecute el comando sudo get-edid | parse-edid | grep DisplaySizeen la terminal. Su salida le dará el tamaño real de su monitor en milímetros. Si no, use la regla.
Comencemos por arreglar DPI:
1) En la ejecución 12.04 gksudo gedit, abra /etc/lightdm/lightdm.confy agregue un parámetro en la [SeatDefaults]sección:
xserver-command=X -dpi 90
No existe tal archivo en 16.04 por defecto, por lo que debe crear lightdm.confmanualmente y ponerlo en /etc/lightdm/lightdm.conf.d/. El contenido de este archivo es el mismo:
[SeatDefaults]
xserver-command=X -dpi 90
Reinicie su computadora o reinicie X. Ahora grep DPI /var/log/Xorg.0.logmostrará la configuración deseada.
2) En mi respuesta anterior, propuse crear un archivo que /etc/X11/Xsession.d/contenga una cadena xrandr --dpi 90. Esto funcionó en 12.04, pero en 16.04 esta configuración no es persistente. En los sistemas más nuevos podemos agregar el valor deseado al inicio de la sesión. Ejecute "Aplicaciones de inicio", presione el botón "Agregar", asígnele el nombre "Fix DPI" y configure el comando xrandr --dpi 90en el campo. Guarde los cambios y vuelva a iniciar sesión. Ahora xdpyinfo | grep dotsinformaremos 90x90 dots.
Si xdpyinfoaún muestra 96, agregue un tiempo de espera antes de ejecutar xrandr. Edite el comando en "Aplicaciones de inicio" y cámbielo a:
bash -c "sleep 15; xrandr --dpi 90"
Referencia
Paso 2 es opcional para 12,04 porque en los sistemas más antiguos Paso 1 corrige ambas Xorg.0.logy xdpyinfovalores.
3) En GNOME3, la configuración de DPI está codificada en 96 y no se puede cambiar directamente, pero el texto se puede escalar en su lugar. Calcule el multiplicador deseado: desired_DPI / 96(en mi caso 90/96 = 0.9375). Ahora ejecuta el comando (o úsalo dconfsi lo prefieres):
gsettings set org.gnome.desktop.interface text-scaling-factor 0.9375
Los cambios se aplicarán de inmediato. xrdb -query | grep dpiinformará lo deseado Xft.dpi: 90.
PD: hay otro método para corregir la configuración de DPI que es mucho más difícil y se describe en esta guía. También lo probé y el resultado fue el mismo (al menos en 12.04).
Epílogo: solo los desarrolladores de Ubuntu pueden decir con certeza si los valores modificados por los Pasos 1 y 2 realmente importan en Ubuntu moderno o si se ignoran silenciosamente. Solo el Paso 3 produce los cambios que se notan instantáneamente. Se alienta a los usuarios que consideran que ciertas aplicaciones aún pueden depender de la configuración del servidor X a realizar los 3 pasos descritos anteriormente. Por lo demás, el Paso 3 es suficiente: esa es la única forma de personalización adoptada en las distribuciones modernas de Ubuntu.