¿Cómo encontrar y cambiar la pantalla DPI?

87

Estoy tratando de encontrar y luego cambiar la configuración de DPI de la pantalla (puntos por pulgada) en 12.04 y 12.10. Sin embargo, parece que no puedo encontrar ninguna aplicación o archivo de configuración que pueda hacer esto. ¿Hay alguna aplicación o archivo de configuración para esto?

Tenga en cuenta que esto es para 12.04+, por lo que lo siguiente no funcionará:

Además, básicamente están cambiando el tamaño de la fuente, no el DPI real de la pantalla.

Luis Alvarado
fuente
1
Estoy tratando de entrenar cómo tener diferentes ppp en cada monitor.
ctrl-alt-delor
1
Hola @richard, si lo haces, nos encantaría que pongas tus pasos y resultados aquí. Gracias.
Luis Alvarado

Respuestas:

117

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.

whtyger
fuente
2
Esta es una respuesta muy completa (Disfrutado de todo) llena de nueva información. Gracias whtyger. +1
Luis Alvarado
2
Gracias por la alta calificación. He pasado varios días buscando información para resolver el problema y ahora me alegro de compartirlo con todos.
whtyger
1
aquí hay una hoja de cálculo para ahorrarle un poco de tiempo calculando los valores: docs.google.com/spreadsheet/…
Tom Carchrae
1
@RaffiKhatchadourian Hay un esquema org.gnome.desktop.interfacey una clave scaling-factoren él. El valor predeterminado es 1 y solo puede ser entero. Está destinado a pantallas HiDPI. Existen algunos métodos para obtener el factor de escala no entero utilizando xrandr. Consulte este enlace: wiki.archlinux.org/index.php/HiDPI (esa es la base de conocimiento de Arch, no he probado esto en Ubuntu).
whtyger
28

A partir de 14.04 tenemos una opción que ayuda un poco:

Soporte de escalado

En la imagen de abajo podemos ver la escala que tiene a 0.75 en las fuentes y barras de título:

ingrese la descripción de la imagen aquí

En la imagen a continuación podemos ver la escala que tiene en 1.38 en las fuentes y barras de título:

ingrese la descripción de la imagen aquí

Luis Alvarado
fuente
3
Eso funcionó para mí en Ubuntu 14.04 (alemán: "Anzeigegeräte"). Tuve que restaurar el factor de escala de fuente predeterminado a 1.0 (lo configuré en 2.0 antes) y volver a escalar el tamaño del icono del iniciador en "Todas las configuraciones" -> "Darstellung "
rubo77
44
¿Eso no solo cambia el menú y las barras de título, incluido el Iniciador, y NO el DPI total?
John Scott
1
@FuzzyToothpaste es por eso que dije "ayuda un poco". Esa parte es que, cuando baja la escala, además de cambiar el menú, la barra de título y los iconos del iniciador, el tamaño real de las ventanas, debido al cambio, será menor. Por lo tanto, ayuda un poco si tiene, por ejemplo, una resolución de 1280x720 (como una computadora portátil) y desea ajustar las ventanas dentro de ese 720. Bajar la escala a 0.8 o menos "se sentirá" como si estuviera usando 1080 en lugar de 720. Esto por supuesto es con Non Hi-DPI como los productos de manzana. Supongo que el efecto sería mayor en ese tipo de hardware.
Luis Alvarado
Hola, perdón por mi comentario; Quiero mostrar los ajustes de pantalla como en sus imágenes a través de la sesión de xserver: ¿hay alguna manera de hacerlo?
9

En lo que respecta a mi experiencia en Ubuntu, cambiar la configuración de DPI de fuente cambia mucho más que la forma en que se representan las fuentes. También se aplica a los iconos y al tamaño de los menús, por ejemplo.

Es solo que Xorg insinúa el entorno de escritorio sobre cuál es el DPI de la pantalla física. Y sí, puede anular esto en Xorg.conf, pero tiene el mismo efecto que cambiar la configuración en su DE. Por ejemplo en Kubuntu / KDE:

ingrese la descripción de la imagen aquí

gertvdijk
fuente
3
¿Existe una versión de Ubuntu (Unity) de este administrador de fuentes?
Luis Alvarado
@LuisAlvarado No, parece que solo GNOME2 y KDE ofrecen esto ... Gnome-tweak-tool debería poder hacer esto, pero bloquea mi VM Unity 12.10 siempre que cambie el tamaño de fuente.
gertvdijk
9

Tuve un problema similar, en una pantalla de 2880x1620. Ver http://ubuntuforums.org/showthread.php?t=2106549 Resuelto poniendo

xrandr --output DP-0 --scale 0.75x0.75

en mi perfil ~ / .x

En lugar de "DP-0", pon lo que sea

xrandr

te dice como nombre del dispositivo.

Puede ajustar la escala, por supuesto, pero 0.5 de alguna manera no se veía bien en mi pantalla.

tkruse
fuente
3
Esto es solo una solución, porque pierdes la resolución real. Con esta escala, su monitor solo muestra la mitad del píxel en lugar de volver a representarlo en la resolución escalada
rubo77
1
Desafortunadamente, el mouse no se escala a la misma velocidad que la pantalla cuando se usa esto :-( Al reducir la escala tal como está, esto es inofensivo ya que el mouse solo explora el espacio vacío fuera de la pantalla, pero al escalar para obtener una aplicación compleja para mostrar bien en pantallas más pequeñas, el ratón no llega hasta el borde de la pantalla que hace que este inutilizables en ese caso de uso
marsbard
7

Mientras que el xserver-command=X -dpi ...y xrandr --dpi ...dado anteriormente pueden haber funcionado muy bien en versiones anteriores de Ubuntu, Ubuntu 13.10 en (que es lo que tengo) Unidad ignora los ajustes y mantiene el dpi fijo (por lo que el servidor X se refiere a 96 ppp).

Y el xrandr --scale ...comando escala la pantalla como se describe, pero la escala de tal manera que hace que el texto y los iconos se vean un poco borrosos. Pero funciona.

Parece que en Ubuntu 13.10 la mejor opción podría ser no tratar de cambiar la configuración de dpi para el servidor X, sino usar la unity-tweak-toolpara cambiar las fuentes predeterminadas utilizadas por Unity y el factor de escala de fuente predeterminado. Puede descargarlo unity-tweak-tooldesde el Centro de software de Ubuntu. Cuando abres elunity-tweak-toolvaya al botón Fuentes e intente cambiar el factor de escala de la fuente a 1.2 o 1.25 (o superior o inferior) para que las fuentes aparezcan en un buen tamaño para usted. En este panel de control también puede cambiar las fuentes predeterminadas utilizadas por Unity. Es cierto que esta solución no escala todo en la pantalla, solo el texto, pero funciona muy bien en mi computadora portátil con su pantalla de 166 ppp. Parece que los navegadores web como Firefox y Chromium no notan esta configuración de configuración, pero tanto Firefox como Chromium le permiten establecer un tamaño de fuente mínimo en la configuración de su aplicación para escalar las fuentes en las páginas web de la misma manera.

CarlGWatts
fuente
Buena investigación Carl.
Luis Alvarado
5

En Ubuntu 14.10, con una computadora portátil de 15 ", resolución de 1920x1080 (345 mm x 145 mm), con una densidad de 143 ppi / ppp, hice lo siguiente.

En /etc/X11/xorg.conf.d/xorg.conf, agregué lo siguiente:

# xdpyinfo | grep -B2 resolution
# https://wiki.archlinux.org/index.php/xorg#Display_size_and_DPI
Section "Monitor"
    Identifier             "<default monitor>"
    DisplaySize             345 195    # In millimeters
EndSection

Esto establece la configuración de dpi en todo el sistema a la derecha 143 ppp:

$ xdpyinfo | grep dots
resolution:    142x142 dots per inch

También hice todos los ajustes mencionados anteriormente:

  • Configuración del sistema (en el panel de Unity) -> Pantallas -> Escala para barras de menú y título: 1.25
  • En chromium, comienzo con: chromium-browser --enable_hidpi = 1
  • En Firefox configuré aproximadamente: config -> layout.css.devPixelsPerPx: 1.4
  • En atom.io, comenté sobre este tema

Bastante necesito ajustar cada aplicación, planeo usarla. También en los navegadores, este zoom también produce imágenes borrosas (iconos, botones en páginas web, etc.), porque también se amplía. Me encantaría configurar alguna imagen en tamaño 1: 1 y 2: 1 con un solo clic o gesto.

Espero que agregue información útil a partir del 9 de octubre de 2014.

usuario12933
fuente
Creo que puede corregir la falta de definición escalando un múltiplo de 12. En su caso, configure el ppp en 144
Martin Konecny
+1 por poner la fecha en tu publicación. A veces hago eso, pero me recuerdas que necesito hacerlo con más frecuencia. (pista para todos los demás).
WinEunuuchs2Unix
3

Instalar Ubuntu-Tweak http://ubuntu-tweak.com/

Ábrelo y ve a 'Ajustes> Fuentes'. Luego cambie el 'Factor de escala de texto'

Funciona genial. Disfrutar.

Royer
fuente
3

Puede escalar todo con xrandr, que es probablemente lo que está buscando. No estoy seguro de cómo funciona internamente, pero el efecto parece ser un cambio de dpi.

Para escalar su resolución, primero encuentre el nombre de su pantalla con xrandr:

lars:~$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 1600 x 1600
LVDS connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1366x768       60.0*+
   1280x768       60.0 +
   1280x720       60.0 +
   1024x768       60.0 +
   1024x600       60.0 +
   800x600        60.0 +
   800x480        60.0 +
   720x480        60.0 +
   640x480        60.0 +
DFP1 disconnected (normal left inverted right x axis y axis)
CRT1 disconnected (normal left inverted right x axis y axis)

Entonces, en mi caso, la pantalla de mi computadora portátil se llama LVDS.

Luego ejecute lo siguiente para escalar su resolución:

xrandr --output LVDS --scale 0.75x0.75

El Lanzador y el Panel pueden desaparecer por un momento, pero simplemente desplace el cursor sobre ellos y deberían reaparecer. Es posible que también deba cambiar el tamaño de las ventanas abiertas para que se ajusten a la resolución más pequeña.

Lars Nyström
fuente
Este difumina la salida
Beernarrd
2

Cuando terminé con esta pregunta buscando el escalado de Windows HiDPI en Ubuntu Gnome, esta es mi adición a las sugerencias aleatorias, para que la encuentre cuando la necesite nuevamente. :)

Para acceder a este cuadro de diálogo, abra Ajustes de Gnome y vaya a la sección de Windows.

Ajustes de Gnome - Windows

andersoyvind
fuente
0

Estoy usando Zorin8 (basado en Ubuntu13.x).

Puede escalar la pantalla con el mouse (1024/800 = 1.28, 768/600 = 1.28):

xrandr --output LVDS1 --mode 800x600 --panning 1024x768 --scale 1.28x1.28

O solo desplace la pantalla, de modo que tenga que usar el mouse para ver las partes que no son visibles en la pantalla:

xrandr --output LVDS1 --mode 800x600 --panning 1024x768
DaanP
fuente
-2

En realidad no puede cambiar el ppi físico de su monitor. El ppi real es el ppi de hardware real, sin embargo, la mayoría del software asumirá un ppi de 72 ppp por razones históricas, aunque 96 ppp no ​​es raro ahora.

Puede cambiar la resolución del monitor, que cambia el ppi traducido, y puede cambiar cosas como el tamaño de fuente.

Si instala MyUnity, puede cambiar la fuente DPI, entre otras cosas.

Si tuviera un monitor verdadero de 1024x768 píxeles (resolución) y fuera verdadero 72 ppp, sería aproximadamente un monitor de 17 ". Si establece un tamaño de fuente de 72, entonces un carácter tendría 1" de alto. Si configura la pantalla a una resolución de 800x600, la fuente sería más grande, mientras que si configura 1600x1200, la fuente parecería más pequeña.

fabricante4
fuente
¿Qué pasa con las opciones de xorg como "UseEDIDDpi" y "DPI"? He leído que, por ejemplo, el primero puede deshabilitar la lectura del EDID de la tarjeta de video en caso de que se lea mal y con DPI puede cambiar DPI. Esto es lo que me confunde.
Luis Alvarado