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 dots
informó 96x96 dots
, xrdb -query | grep dpi
informó Xft.dpi: 96
, grep DPI /var/log/Xorg.0.log
informó 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 connected
porque 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-edid
paquete y ejecute el comando sudo get-edid | parse-edid | grep DisplaySize
en 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.conf
y 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.conf
manualmente 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.log
mostrará 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 90
en el campo. Guarde los cambios y vuelva a iniciar sesión. Ahora xdpyinfo | grep dots
informaremos 90x90 dots
.
Si xdpyinfo
aú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.log
y xdpyinfo
valores.
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 dconf
si lo prefieres):
gsettings set org.gnome.desktop.interface text-scaling-factor 0.9375
Los cambios se aplicarán de inmediato. xrdb -query | grep dpi
informará 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.