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 DPI au lieu de 2.
J'expliquerai l'exemple du système avec Ubuntu 12.04 avec Gnome Classic et un moniteur avec la résolution 1680x1050. Mes paramètres de départ: xdpyinfo | grep dots
ont indiqué 96x96 dots
, xrdb -query | grep dpi
ont indiqué Xft.dpi: 96
, grep DPI /var/log/Xorg.0.log
ont signalé des paramètres étranges NOUVEAU(0): DPI set to (90, 88)
.
En 16.04, les sorties de toutes ces 3 commandes étaient cohérentes et étaient égales à 96. Bien que ce consensus soit meilleur que le désordre de 12.04, la valeur rapportée est codée en dur et loin de la valeur DPI réelle.
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 une règle longue à la main. Dans mon cas: X = 47.4cm
; Y = 29.6cm
. Divisez-les par 2,54 pour obtenir la taille en pouces: X ~ 18.66in
; Y ~ 11.65in
. Enfin, divisez le montant réel des points (basé sur votre résolution) par la taille en pouces: X = 1680/18.66 ~ 90dpi
; Y = 1050/11.65 ~ 90dpi
. Donc, mon vrai ppp est 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 nouvelles versions du serveur X ignorent la taille signalée par EDID et calculent la taille à l'aide de la résolution d'écran et la valeur codée en DPI (plus d'infos ici ). < br>
Une autre méthode pour trouver la taille du moniteur consiste à lire directement son EDID. Installez le package 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 la règle.
Commençons à corriger DPI:
1) Dans 12.04, exécutez gksudo gedit
, ouvrez /etc/lightdm/lightdm.conf
et ajoutez un paramètre sous [SeatDefaults]
section:
xserver-command=X -dpi 90
Par défaut, il n’ya pas de fichier de ce type dans 16.04, vous devez donc créer lightdm.conf
manuellement et le mettre dans /etc/lightdm/lightdm.conf.d/
. Le contenu de ce fichier est identique:
[SeatDefaults]
xserver-command=X -dpi 90
Redémarrez votre ordinateur ou redémarrez X. Maintenant, grep DPI /var/log/Xorg.0.log
affichera le paramètre souhaité.
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 a fonctionné en 12.04, mais en 16.04 ce paramètre n'est pas persistant. Dans les nouveaux systèmes, nous pouvons ajouter la valeur souhaitée au début de la session. Exécutez "Startup Applications", appuyez sur le bouton "Ajouter", nommez-le "Fix DPI" et définissez la commande xrandr --dpi 90
dans le champ. Enregistrez les modifications et reconnectez-vous. Maintenant, xdpyinfo | grep dots
rapportera 90x90 dots
.
Si xdpyinfo
affiche toujours 96, ajoutez un délai avant d'exécuter xrandr
. Modifiez la commande dans "Applications de démarrage" et modifiez-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 Xorg.0.log
et xdpyinfo
.
3) dans GNOME3, le paramètre DPI est codé en dur sur 96 et ne peut pas être modifié directement, mais le texte peut plutôt être mis à l’échelle. Calculez le multiplicateur souhaité: desired_DPI / 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é.
PS Il existe une autre méthode pour corriger les paramètres DPI qui est beaucoup plus difficile et elle est décrite dans this guide Je l'ai essayé aussi et le résultat était le même (au moins en 12.04).
Afterword: seuls les développeurs Ubuntu peuvent dire avec certitude si les valeurs modifiées par les étapes 1 et 2 vraiment important dans Ubuntu moderne ou ils sont silencieusement ignorés. Seule l'étape 3 produit les modifications qui sont instantanément perceptibles. Les utilisateurs qui considèrent que certaines applications peuvent toujours compter sur les paramètres du serveur X sont encouragés à effectuer les 3 étapes décrites ci-dessus. Pour le reste, l'étape 3 est suffisante - c'est le seul moyen de personnalisation adopté dans les distributions Ubuntu modernes.