Ceci est une version mise à jour de ma réponse précédente qui était liée à Ubuntu 12.04. Dans 16.04 (Xenial), 3 étapes sont nécessaires pour définir correctement le DPI au lieu de 2.
J'expliquerai sur l'exemple du système avec Ubuntu 12.04 avec Gnome Classic et un moniteur avec une résolution 1680x1050. Mes paramètres de départ: xdpyinfo | grep dots
signalé 96x96 dots
, xrdb -query | grep dpi
signalé Xft.dpi: 96
, grep DPI /var/log/Xorg.0.log
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 é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 est loin de la valeur réelle en 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 une longue règle à la main. Dans mon cas: X = 47.4cm
; Y = 29.6cm
. Les diviser par 2,54 pour obtenir la taille en pouces: X ~ 18.66in
; Y ~ 11.65in
. Enfin diviser le montant réel des points ( en fonction de votre résolution) par la taille en pouces: X = 1680/18.66 ~ 90dpi
; Y = 1050/11.65 ~ 90dpi
. Donc, mon dpi réel 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 versions les plus récentes du serveur X ignorent la taille rapportée par EDID et calculent la taille en utilisant la résolution d'écran et une valeur codée en dur de DPI (plus d'informations ici ).
Une autre méthode pour trouver la taille du moniteur consiste à lire directement son EDID. Installez le read-edid
package 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 à réparer DPI:
1) Sous 12.04 gksudo gedit
, ouvrez /etc/lightdm/lightdm.conf
et ajoutez un paramètre dans la [SeatDefaults]
section:
xserver-command=X -dpi 90
Il n'y a aucun fichier de ce type 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. Le grep DPI /var/log/Xorg.0.log
réglage souhaité s'affichera.
2) Dans ma réponse précédente, je proposais de créer un fichier /etc/X11/Xsession.d/
contenant une chaîne xrandr --dpi 90
. Cela fonctionnait dans 12.04, mais dans 16.04, ce paramètre n'était pas persistant. Dans les systèmes plus récents, nous pouvons ajouter la valeur souhaitée au début de la session. Exécutez "Applications de démarrage", appuyez sur le bouton "Ajouter", nommez-le "Correction DPI" et définissez la commande xrandr --dpi 90
dans le champ. Enregistrez les modifications et reconnectez-vous. Maintenant xdpyinfo | grep dots
rapporter 90x90 dots
.
Si xdpyinfo
toujours affiche 96, ajoutez un délai d'attente avant l'exécution xrandr
. Editez la commande dans "Applications de démarrage" et remplacez-la par:
bash -c "sleep 15; xrandr --dpi 90"
Référence
L'étape 2 est facultative pour 12.04 car, dans les systèmes plus anciens, l'étape 1 corrige 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 être redimensionné à la place. Calculez le multiplicateur souhaité: desired_DPI / 96
(dans mon cas 90/96 = 0.9375
). Maintenant, lancez la commande (ou utilisez dconf
si vous préférez):
gsettings set org.gnome.desktop.interface text-scaling-factor 0.9375
Les changements seront appliqués à la fois. xrdb -query | grep dpi
signalera le désiré Xft.dpi: 90
.
PS Il existe une autre méthode de correction du paramètre DPI qui est beaucoup plus difficile. Elle est décrite dans ce 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 importent réellement dans Ubuntu moderne ou si elles sont ignorées en silence. Seule l’étape 3 produit les modifications immédiatement perceptibles. Les utilisateurs qui considèrent que certaines applications peuvent toujours dépendre des 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 l'unique moyen de personnalisation adopté dans les distributions Ubuntu modernes.