¿Cómo escalo el administrador de ventanas i3 para mi pantalla HiDPI?


36

Tengo una Dell XPS 13 9343 2015 con una resolución de 3200x1800 píxeles.

Estoy tratando de usar el administrador de Windows i3, pero todo es pequeño y difícil de leer.

Logré escalar todas las aplicaciones (firefox, terminal, etc.) usando .Xresources:

! Fonts {{{
Xft.antialias: true
Xft.hinting:   true
Xft.rgba:      rgb
Xft.hintstyle: hintfull
Xft.dpi:       220
! }}}

pero la interfaz i3 todavía no escala ...


He entendido que eso xrandr --dpi 220puede resolver el problema, pero no sé cómo / dónde usarlo.

¿Alguien puede aclararme sobre este tema?

Respuestas:


25

Puede ejecutar xrandr como cualquier usuario que ejecute una sesión X. Xrandr es un programa de línea de comandos, por lo que lo ejecuta en su terminal.

Entonces ejecutarías algo como esto en tu terminal de usuario

$ xrandr --dpi 220

¿Puede explicar por qué parece que todas las demás aplicaciones funcionan con Xft.dpi mientras que i3 requiere que xrandr configure el dpi?
maletor

1
Algunos programas leen desde el archivo Xresources, pero i3 obtiene su lectura DPI directamente desde el servidor X.
Dennis Chen

44
Parece que este ya no es el caso con 4.13. Las notas de la versión indican que funciona con Xresources (como debería).
maletor

1
@maletor Correcto, 4.13 y luego leído Xft.dpi. Sin embargo, "como debería" lo está exagerando, ya que i3 lo usará para DPI en general, mientras que Xftse supone que se aplica a las fuentes. Sin embargo, generalmente se adapta mejor a los usuarios de esta manera. :-)
Ingo Bürk

21

Si solo desea cambiar el DPI dentro de i3, puede poner el comando en su archivo de configuración de i3 con la línea:

exec xrandr --dpi 220

Dependiendo de su distribución, encontrará el archivo de configuración en diferentes lugares, pero a menudo en ~/.config/i3/config


16

En mi humilde opinión, el comentario de @maletor a la respuesta aprobada justifica una nueva respuesta. Desde la versión 4.13, i3 lee información DPI de Xft.dpi ( fuente ). Por lo tanto, para configurar i3 para que funcione con pantallas de alta DPI probablemente necesitará modificar dos archivos.

Agregue esta línea a ~/.Xresourcessu valor preferido:

Xft.dpi: 120

Asegúrese de que la configuración se cargue correctamente cuando X comience en su ~/.xinitrc( fuente ):

xrdb -merge ~/.Xresources
exec i3

Tenga en cuenta que afectará a otras aplicaciones (por ejemplo, su terminal) que leen la configuración de DPI de X recursos.


1
En Ubuntu 18.04, no necesitaba un ~/.xinitrcarchivo para que esto funcionara.
aparkerlue

0

Dado que la edición en mi pregunta se elimina (no estoy seguro de por qué), así es como lo arreglé:

Lo resolví simplemente poniendo:

xrandr --dpi 220
exec i3

En mi .xinitrc.


0

Francamente en VirtualBox, resolví mi problema de configuración de resolución I3 por medio de un entorno estándar ubuntu / linux, porque la respuesta elegida aquí no funcionó para mí cuando usaba VirtualBox ('xrandr --dpi 220'): mi ventana de sesión i3 era solo cerrado Entonces utilicé la siguiente secuencia estándar de comandos para configurar la resolución:

cvt 3840 2160 60
// Output: -> Modeline "3840x2160_60.00"  712.75  3840 4160 4576 5312  2160 2163 2168 2237 -hsync +vsync

Usar parte de la salida (después de la palabra Modeline) como parámetro de un nuevo comando

xrandr --newmode "3840x2160_60.00"  3840x2160_60.00"  712.75  3840 4160 4576 5312  2160 2163 2168 2237 -hsync +vsync
xrandr --addmode VGA-1 3840x2160_60.00

// este último comando activa la resolución creada

xrandr -s 3840x2160

Para preservar la configuración entre las sesiones de registro de usuarios, uno tiene que poner, por supuesto, los siguientes comandos en un archivo de inicio .bashrc.

Una vez configurado, para deshacerse de los espacios de barras de desplazamiento de 1 píxel, el modo Ver-> Escalado del menú es una opción. También me gustaría configurar mi pantalla UltraHd como pantalla principal en el host de Windows.

Mi solución es una combinación de dos respuestas del siguiente enlace: Referencia: https://askubuntu.com/questions/377937/how-to-set-a-custom-resolution

Editar: aparato simplificado que contiene un one-liner

eval $(cvt 2220 1250 60 |sed 's/Modeline/xrandr --newmode /g'|sed -n '1!p')

como una resolución de resultado adecuada, la relación de aspecto del tamaño de la pantalla puede reevaluarse / ajustarse posteriormente, por lo tanto, descubra la resolución creada por el comando xrand, que se agrega al final de la salida,

1) asignar la resolución a una pantalla específica -

xrandr --addmode VGA-1 "2224x1250_60.00"

2) muestra la resolución deseada en la pantalla

xrandr --output VGA-1 --mode "2224x1250_60.00"


Esto probablemente debería ser un comentario, no una respuesta.

buen punto, lo pondré como un comentario, eliminará este, aunque no estoy completamente seguro, porque este enfoque no funcionó para mí, si alguien como yo viene, podría no leer mi comentario, de todos modos lo dejo a usted decidir y poner un comentario a una respuesta como: "Tu enfoque no funcionó mis trabajos, ('por lo tanto, estás equivocado')" es más difícil para mí, última edición, además, me doy cuenta de que todavía no tengo el privilegio de comentar , ay
FantomX1

1
Si "la respuesta elegida aquí no funcionó para mí cuando usaba VirtualBox" era lo único que tenía que decir, entonces un comentario sería el lugar adecuado para ello. Pero, si conoce una respuesta que funcione para usted (cuando usa VirtualBox), donde la respuesta aceptada (aquí) no funciona, entonces debe publicarse como respuesta. Pero no publique solo un enlace; copia la respuesta aquí. (1: la otra respuesta podría eliminarse, y 2: no sabemos cuál de las respuestas a la otra pregunta fue la que le ayudó.) Identifique al autor original por nombre (usuario) y mantenga el enlace.
G-Man dice 'reinstalar a Monica' el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.