102 votes

Comment trouver et changer la résolution d'écran DPI ?

Je cherche à trouver puis à modifier le paramètre DPI (points par pouce) de l'écran dans 12.04 et 12.10. Cependant, je ne semble pas trouver d'application ou de fichier de configuration qui puisse le faire. Y a-t-il une application ou un fichier de configuration pour cela?

Notez que ceci est pour 12.04+ donc ce qui suit ne fonctionnera pas:

De plus, ils changent essentiellement la taille de la police, pas le DPI réel de l'écran.

140voto

whtyger Points 5510

Ceci est une version mise à jour de ma réponse précédente qui était liée à Ubuntu 12.04. En 16.04 (Xenial), 3 étapes sont nécessaires pour définir correctement le DPI au lieu de 2.

Je vais expliquer sur l'exemple du système avec Ubuntu 12.04 avec Gnome Classic et un moniteur ayant une résolution de 1680x1050. Mes paramètres de départ : xdpyinfo | grep dots a rapporté 96x96 points , xrdb -query | grep dpi a rapporté Xft.dpi: 96 , grep DPI /var/log/Xorg.0.log a rapporté des paramètres étranges NOUVEAU(0): DPI set to (90, 88).

En 16.04, les sorties de ces 3 commandes étaient cohérentes et égales à 96. Bien que ce consensus soit mieux que le désordre de 12.04, la valeur rapportée est codée en dur et loin de la valeur réelle du DPI.

Calculons le DPI optimal pour mon moniteur. La taille réelle de l'écran peut être trouvée avec la commande xrandr | grep -w connected (convertir la sortie en centimètres) ou avec un long règle à la main. Dans mon cas : X = 47,4 cm ; Y = 29,6 cm. Divisez-les par 2,54 pour obtenir la taille en pouces : X ~ 18,66 pouces ; Y ~ 11,65 pouces. Enfin, divisez la quantité de points réelle (en fonction de votre résolution) par la taille en pouces : X = 1680/18,66 ~ 90dpi ; Y = 1050/11,65 ~ 90dpi. Donc mon véritable DPI est de 90.

Soyez averti, la méthode manuelle de mesure peut être plus précise que la sortie de la commande xrandr | grep -w connected car les versions plus récentes du serveur X ignorent la taille rapportée par l'EDID et calculent la taille en utilisant la résolution de l'écran et une valeur codée en dur de DPI (plus d'infos ici).
Une autre méthode pour trouver la taille du moniteur est de lire directement son EDID. Installez le paquet read-edid et exécutez la commande sudo get-edid | parse-edid | grep DisplaySize dans le terminal. Sa sortie vous donnera la taille réelle de votre moniteur en millimètres. Sinon, utilisez le règle.

Commençons à corriger le DPI :

1) Dans 12.04, exécutez gksudo gedit, ouvrez /etc/lightdm/lightdm.conf et ajoutez un paramètre sous la section [SeatDefaults] :

xserver-command=X -dpi 90

Il n'y a pas de tel fichier dans 16.04 par défaut, vous devez donc créer lightdm.conf manuellement et le placer dans /etc/lightdm/lightdm.conf.d/. Le contenu de ce fichier est le même :

[SeatDefaults]
xserver-command=X -dpi 90

Redémarrez votre ordinateur ou redémarrez X. Maintenant, grep DPI /var/log/Xorg.0.log affichera le réglage désiré.

2) Dans ma réponse précédente, j'ai proposé de créer un fichier dans /etc/X11/Xsession.d/ contenant la chaîne xrandr --dpi 90. Cela fonctionnait dans 12.04, mais dans 16.04 ce réglage n'est pas persistant. Dans les systèmes plus récents, nous pouvons ajouter la valeur désirée au démarrage de la session. Exécutez "Applications au démarrage", appuyez sur le bouton "Ajouter", nommez-le "Corriger le DPI" et définissez la commande xrandr --dpi 90 dans le champ. Enregistrez les modifications et reconnectez-vous. Maintenant, xdpyinfo | grep dots rapportera 90x90 points.

Si xdpyinfo affiche toujours 96, ajoutez un délai avant d'exécuter xrandr. Modifiez la commande dans "Applications au démarrage" et changez-la en :

bash -c "sleep 15; xrandr --dpi 90"

Référence

L'étape 2 est facultative pour 12.04 car dans les anciens systèmes, l'étape 1 corrige à la fois les valeurs de Xorg.0.log et de xdpyinfo.

3) Dans GNOME3, le réglage du DPI est codé en dur à 96 et ne peut pas être changé directement, mais le texte peut être mis à l'échelle à la place. Calculez le multiplicateur souhaité : DPI_désiré / 96 (dans mon cas 90/96 = 0,9375). Maintenant, exécutez la commande (ou utilisez dconf si vous préférez) :

gsettings set org.gnome.desktop.interface text-scaling-factor 0,9375

Les modifications seront appliquées immédiatement. xrdb -query | grep dpi rapportera le Xft.dpi: 90 souhaité.

P.S. Il existe une autre méthode pour corriger le réglage du DPI qui est beaucoup plus difficile et qui est décrite dans ce guide. Je l'ai aussi essayé et le résultat était le même (du moins en 12.04).

Conclusion : Seuls les développeurs d'Ubuntu peuvent dire avec certitude si les valeurs modifiées par les Étapes 1 & 2 ont vraiment de l'importance dans les versions modernes d'Ubuntu ou si elles sont ignorées silencieusement. Seule l'Étape 3 produit des changements instantanément perceptibles. Les utilisateurs qui pensent que certaines applications peuvent encore dépendre des paramètres du serveur X sont encouragés à effectuer les 3 étapes décrites ci-dessus. Pour les autres, l'étape 3 est suffisante - c'est la seule façon de personnalisation adoptée dans les distributions modernes d'Ubuntu.

28voto

Bob Points 940

À partir de 14.04, nous avons une option qui aide un peu :

Prise en charge de la mise à l'échelle

Dans l'image ci-dessous, nous pouvons voir la mise à l'échelle qu'elle a à 0.75 sur les polices et les barres de titre :

entrez la description de l'image ici

Dans l'image ci-dessous, nous pouvons voir la mise à l'échelle qu'elle a à 1.38 sur les polices et les barres de titre :

entrez la description de l'image ici

10voto

RN. Points 559

En ce qui concerne mon expérience sur Ubuntu, modifier le paramètre DPI de la police change beaucoup plus que simplement la façon dont les polices sont rendues. Cela s'applique également aux icônes et à la taille des menus par exemple.

C'est simplement que Xorg renseigne l'Environnement de Bureau sur la valeur DPI physique de l'écran. Et oui, vous pouvez outrepasser cela dans le fichier Xorg.conf, mais cela a le même effet que de changer le paramètre dans votre ED. Par exemple dans Kubuntu/KDE :

saisir la description de l'image ici

9voto

tkruse Points 199

J'ai eu un problème similaire, sur un écran 2880x1620. Voir http://ubuntuforums.org/showthread.php?t=2106549 Résolu en ajoutant

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

dans mon fichier ~/.xprofile

A la place de "DP-0", mettez le nom du périphérique

xrandr

que vous indique comme nom de device.

Vous pouvez bien sûr ajuster l'échelle, mais 0.5 n'avait pas l'air bien sur mon écran.

7voto

Ian Points 1

Alors que les commandes xserver-command=X -dpi ... et xrandr --dpi ... données ci-dessus ont très bien fonctionné dans les versions précédentes d'Ubuntu, dans Ubuntu 13.10 (qui est ce que j'ai) Unity ignore ces paramètres et garde le dpi fixé (du point de vue du serveur X) à 96 dpi.

Et la commande xrandr --scale ... permet bien de mettre l'écran à l'échelle comme décrit mais de manière qui rend le texte et les icônes un peu flous. Mais ça fonctionne.

Il semble qu'en Ubuntu 13.10, la meilleure option pourrait être de ne pas essayer de changer le paramètre dpi pour le serveur X, mais plutôt d'utiliser unity-tweak-tool pour modifier les polices par défaut utilisées par Unity et le facteur d'échelle de la police par défaut. Vous pouvez télécharger unity-tweak-tool depuis le Centre de logiciels Ubuntu. Lorsque vous ouvrez unity-tweak-tool, allez sur le bouton Fonts et essayez de changer le facteur d'échelle de la police à 1,2 ou 1,25 (ou plus ou moins) pour obtenir des polices d'une taille qui vous convient. Sur ce panneau de contrôle, vous pouvez également modifier les polices par défaut utilisées par Unity. Certes, cette solution ne met pas à l'échelle tout ce qui est affiché à l'écran, seulement le texte, mais cela fonctionne vraiment bien sur mon ordinateur portable avec son écran de 166 dpi. Il semble que les navigateurs web comme Firefox et Chromium ne tiennent pas compte de ce paramétrage mais à la fois Firefox et Chromium vous permettent de définir une taille de police minimale dans leurs paramètres d'application pour mettre les polices de texte des pages web à l'échelle de la même manière.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X