Establecer el valor exacto de DPI (Dots per Inch) o PPP (Puntos por Pulgada), garantiza una mejor apariencia de las tipografías en el escritorio Linux. El valor predeterminado en prácticamente todos los entornos de escritorio es 96 dpi, algo que funciona bien para cualquiera que use monitores estándar promedio con resolución de 1024x768 píxeles y 1366x768 píxeles. ¿Pero qué hay de quienes usamos pantallas más grandes? ¿Qué hay de los artistas gráficos que usan Linux? En estos casos la tipografías simplemente se ven demasiado pequeñas y resulta incómodo leer algunos tipos de letras. A continuación muestro un método para calcular el valor exacto ideal de DPI.

configurar-dpi-linux

Para ejemplificar los procedimientos, utilizaré una pantalla LED marca Samsung de 21.5 pulgadas y resolución de 1920 x 1080.

Calculo rápido y sencillo del valor óptimo de DPI.

Existen herramientas como Dippi que hacen todo el cálculo muy simple. Lamentablemente Dippi sólo está disponible en algunas distribuciones Linux como elementaryOS, Fedora, openSUSE, SUSE Linux Enterprise y ALDOS (en último Dippi este viene instalado de modo predeterminado).

dippi-01

dippi-02

Calculo complejo del valor óptimo de DPI.

Lo primero es calcular las medidas exactas de la pantalla. Para este fin se puede hacer utilizando una regla física o bien obteniendo la información directamente del dispositivo utilizando xrandr. Ejemplo:

xrandr | grep -w connected

Lo anterior devuelve algo similar a lo siguiente:

HDMI-A-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm  

De la información mostrada, se deben recabar los datos correspondientes a la resolución predeterminada y las medidas de ancho y largo de la pantalla. Ejemplo:

Resolución: 1920 x 1080 píxeles
Ancho: 477 mm
Alto:  268 mm

Lo siguiente es convertir milímetros a centímetros:

Resolución: 1920 x 1080 píxeles
Ancho: 47.7 cm
Alto:  26.8 cm

A continuación se convierten las medidas en centímetros a pulgadas, dividiendo la medida en centímetros entre 2.54.

Resolución: 1920 x 1080 píxeles
Ancho: 477 mm = 18.7795275591 pulgadas
Alto:  268 mm = 10.5511811024 pulgadas

Después se divide la medida en píxeles den ancho entre entre medida del ancho en pulgadas y se divide el valor del alto en pixeles entre el valor del alto en pulgadas. Así se obtiene el valor de DPI. Ejemplo:

1920/18.7795275591 = 102.23899371
1080/10.5511811024 = 102.358208955

Para el monitor utilizado en este ejemplo, el DPI ideal correspondiente sería 102.

Lo siguiente es acceder a la herramienta de configuración correspondiente para KDE Plasma 5, MATE o Xfce. Regularmente está en la misma sección donde se configuran las tipografías. Los cambios aplicarán de inmediato.

Configuración general y manual para X11.

Para gestores de ventanas como WindowMaker, IceWM, OpenBox o entornos de escritorio sin función para establecer DPI, editar el archivo ~/.Xresources:

nano ~/.Xresources

Modificar o añadir:

Xft.dpi: 102

Para aplicar los cambios:

xrdb -merge ~/.Xresources

O bien:

xrandr --dpi 102

GNOME y Cinnamon.

GNOME y Cinnamon vienen configurados de modo predeterminado con un valor fijo de 96 DPI. Carecen de herramienta para establecer el valor de DPI personalizado. Esta configuración fue reemplazada por Factor de escalado de texto. Para poder establecer el valor exacto de DPI, se tiene que utilizar con gsettings, debido a que las interfaces de configuración gráfica redondearán el número ingresado a un decimal.

cinnamon-settings-factor-escalado-texto

Para obtener el valor óptimo de DPI obtenido en la sección anterior y dividir éste entre 96. Ejemplo:

102/96 = 1.0625

Ejecutar lo siguiente en GNOME utilizando el valor obtenido en la operación anterior como valor de text-scaling-factor para org.gnome.desktop.interface:

gsettings set org.gnome.desktop.interface text-scaling-factor 1.0625

Ejecutar lo siguiente en Cinnamon utilizando el valor obtenido en la operación anterior como valor de text-scaling-factor para org.cinnamon.desktop.interface:

gsettings set org.cinnamon.desktop.interface text-scaling-factor 1.0625

Xfce4.

Ejecutar xfce4-appearance-settings, ir a pestaña Letra y establecer Ajuste personalizada de los PPP con el valor de DPI deseado.

xfce4-appearence-settings-dpi

LightDM.

Editar el archivo /etc/lightdm/lightdm.conf:

vim /etc/lightdm/lightdm.conf

Ir a la sección [SeatDefaults] o [Seat:*] y establecer o añadir enxserver-command con la opción -dpi 102. Ejemplo:

xserver-command=X -dpi 102 -background none

Validación.

Para validar, instale screenruler.

dnf -y install screenruler

Haga clic derecho sobre screenruler y luego haga clic en Settings. Establezca el valor de DPI deseado en Horizontal pixels per inch y Vertical pixels per inch.

Mueva screenruler hasta el extremo izquierdo de la pantalla y luego estire la regla regla hasta el limite derecho de la pantalla. La medida del ancho de la pantalla debe coincidir con el valor de ancho devuelto al ejecutar xrandr | grep -w connected.

xrandr | grep -w connected

Lo anterior devuelve algo similar a lo siguiente:

HDMI-A-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm

Nuevamente, la medida del ancho de la pantalla con screenruler debe coincidir con la medida del ancho devuelto por xrandr.

Siguiente Entrada Entrada Anterior