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.