Comment puis-je mettre à l'échelle le gestionnaire de fenêtres i3 pour mon affichage HiDPI?

36

J'ai un Dell XPS 13 9343 2015 avec une résolution de 3200x1800 pixels.

J'essaie d'utiliser le gestionnaire de fenêtres i3, mais tout est minuscule et difficilement lisible.

J'ai réussi à faire évoluer toutes les applications (firefox, terminal, etc ...) en utilisant .Xresources:

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

mais l'interface i3 n'est toujours pas à l'échelle ...


J'ai compris que cela xrandr --dpi 220pourrait résoudre le problème, mais je ne sais ni comment ni où l'utiliser.

Quelqu'un peut-il m'éclairer sur cette question?

hg8
la source

Réponses:

25

Vous pouvez exécuter xrandr en tant qu’utilisateur exécutant une session X. Xrandr est un programme en ligne de commande, vous devez donc l'exécuter dans votre terminal.

Donc, vous courriez quelque chose comme ça dans votre terminal utilisateur

$ xrandr --dpi 220
Dennis Chen
la source
Pouvez-vous expliquer pourquoi il semble que toutes les autres applications fonctionnent avec Xft.dpi alors que i3 requiert xrandr pour définir le dpi?
Maletor
1
Certains programmes lisent à partir du fichier Xresources, mais i3 obtient sa lecture DPI directement à partir du serveur X.
Dennis Chen
4
Il semble que ce n’est plus le cas avec 4.13. Les notes de publication indiquent que cela fonctionne avec Xresources (comme il se doit).
Maletor
1
@maletor Correct, 4.13 et ultérieur lu Xft.dpi. »Comme il se doit« le surestime cependant, car i3 l’utilisera pour DPI en général, alors qu’il Xftest supposé s’appliquer aux polices. Cela convient généralement mieux aux utilisateurs de cette façon. :-)
Ingo Bürk
21

Si vous souhaitez uniquement modifier le DPI dans i3, vous pouvez insérer la commande dans votre fichier de configuration i3 avec la ligne suivante:

exec xrandr --dpi 220

En fonction de votre distribution, vous trouverez le fichier de configuration à différents endroits, mais souvent sous ~/.config/i3/config

jkf
la source
16

IMHO le commentaire de @maletor à la réponse approuvée justifie une nouvelle réponse. Depuis la version 4.13, i3 lit les informations DPI à partir de Xft.dpi ( source ). Ainsi, pour que i3 fonctionne avec des écrans à haute résolution, vous devrez probablement modifier deux fichiers.

Ajoutez cette ligne à ~/.Xresourcesvotre valeur préférée:

Xft.dpi: 120

Assurez-vous que les paramètres sont correctement chargés lorsque X démarre dans votre ~/.xinitrc( source ):

xrdb -merge ~/.Xresources
exec i3

Notez que cela affectera les autres applications (votre terminal, par exemple) qui lisent les paramètres DPI à partir des ressources X.

Nagasaki45
la source
1
Sur Ubuntu 18.04, je n’avais pas besoin d’un ~/.xinitrcfichier pour que cela fonctionne.
aparkerlue
0

Étant donné que la modification de ma question a été supprimée (vous ne savez pas pourquoi), voici comment je l'ai corrigée:

Je l'ai résolu en mettant simplement:

xrandr --dpi 220
exec i3

Dans mon .xinitrc.

hg8
la source
0

Franchement sur VirtualBox, j’ai résolu le problème de configuration de mon problème I3 par un environnement standard Ubuntu / Linux, car la réponse choisie ici ne fonctionnait pas pour moi lors de l’utilisation de VirtualBox ('xrandr --dpi 220') - mes fenêtres de session i3 étaient vient de fermer. J'ai donc utilisé la séquence de commandes standard suivante pour configurer la résolution:

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

Utiliser une partie de la sortie (après le mot Modeline) comme paramètre d'une nouvelle commande

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

// cette dernière commande active la résolution créée

xrandr -s 3840x2160

Afin de préserver la configuration entre les sessions de journalisation des utilisateurs, il est nécessaire de placer les commandes suivantes dans un fichier init .bashrc.

Une fois configuré, pour vous débarrasser des espaces de barres de défilement de 1 pixel, le mode Affichage-> Échelle du menu est une option. Je tiens également à configurer mon écran UltraHd en tant qu’affichage principal dans l’hôte Windows.

Ma solution est une combinaison de deux réponses provenant du lien suivant: Référence: https://askubuntu.com/questions/377937/how-to-set-a-custom-olution.

Edit: Appareil simplifié contenant une seule ligne

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

en tant que résolution de résultat appropriée, le format de l’image pourrait ensuite être réévalué / ajusté; recherchez donc la résolution créée à l’aide de la commande xrand - jointe à la fin de la sortie,

1) attribuer la résolution à un écran spécifique -

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

2) afficher la résolution souhaitée sur l'écran

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

FantomX1
la source
Cela devrait probablement être un commentaire, pas une réponse.
bon point, le mettra comme commentaire, supprimera celui-ci, bien que pas tout à fait sûr, parce que cette approche ne fonctionnait pas pour moi, si quelqu'un comme moi venait, il se peut qu'il ne lise pas mon commentaire, de toute façon je le laisse faire pour décider, et mettre un commentaire sur une réponse du type: "Votre approche n'a pas fonctionné comme je le fais, (" donc vous avez tort ")" est plus difficile à retenir pour moi, dernière modification, de plus je réalise que je n'ai pas encore le privilège de commentaire. ,
aïe
1
Si «la réponse choisie ici ne fonctionnait pas pour moi lors de l'utilisation de VirtualBox» était la seule chose que vous deviez dire, alors un commentaire serait le bon endroit pour le faire. Toutefois, si vous connaissez une réponse qui vous convient (lorsque vous utilisez VirtualBox), dans laquelle la réponse acceptée (ici) ne fonctionne pas, cette réponse doit être publiée. Mais ne postez pas simplement un lien; copier la réponse ici. (1: l'autre réponse pourrait être supprimée et 2: nous ne savons pas laquelle des réponses à l'autre question est celle qui vous a aidé.) Identifiez l'auteur original par son nom (d'utilisateur) et conservez le lien.
G-Man dit 'Réintégrez Monica'