Comment trouver et changer l'écran DPI?

87

J'essaie de trouver, puis de modifier le paramètre d' écran DPI (points par pouce) dans 12.04 et 12.10. Cependant, je n'arrive pas à trouver une application ou un fichier de configuration capable de le faire. Existe-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 fondamentalement la taille de la police, pas la résolution réelle de l'écran.

Luis Alvarado
la source
1
J'essaie de comprendre comment avoir différents dpi sur chaque moniteur.
ctrl-alt-delor
1
Bonjour @ Eric, si vous le faites, nous aimerions que vous mettiez vos pas et vos résultats ici. Je vous remercie.
Luis Alvarado

Réponses:

117

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 dotssignalé 96x96 dots, xrdb -query | grep dpisignalé Xft.dpi: 96, grep DPI /var/log/Xorg.0.logsignalé 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 connectedcar 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-edidpackage et exécutez la commande sudo get-edid | parse-edid | grep DisplaySizedans 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.confet 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.confmanuellement 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.logré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 90dans le champ. Enregistrez les modifications et reconnectez-vous. Maintenant xdpyinfo | grep dotsrapporter 90x90 dots.

Si xdpyinfotoujours 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.loget 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 dconfsi 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 dpisignalera 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.

whtyger
la source
2
Ceci est une réponse très complète (joui du tout) pleine de nouvelles informations. Merci beaucoup. +1
Luis Alvarado
2
Merci pour la haute note. J'ai passé plusieurs jours à chercher partout la résolution du problème et je suis maintenant heureux de le partager avec tout le monde.
Whtyger
1
Voici un tableur pour gagner un peu de temps à calculer les valeurs: docs.google.com/spreadsheet/…
Tom Carchrae
1
@RaffiKhatchadourian Il y a un schéma org.gnome.desktop.interfaceet une clé scaling-factor. La valeur par défaut est 1 et il ne peut s'agir que d'un entier. Il est destiné aux écrans HiDPI. Il existe certaines méthodes permettant d’obtenir un facteur d’échelle non entier xrandr. Vérifiez ce lien: wiki.archlinux.org/index.php/HiDPI (c'est la base de connaissances d'Arch, cela n'a pas été testé dans Ubuntu).
Whtyger
28

À 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 à 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 à 1,38 sur les polices et les barres de titre:

entrez la description de l'image ici

Luis Alvarado
la source
3
Cela fonctionnait pour moi dans Ubuntu 14.04 (en allemand: "Anzeigegeräte"). Je devais restaurer le facteur de dimensionnement des polices par défaut à 1.0 (je l’ai réglé à 2.0 avant) et redimensionner la taille de Launcher-Icon dans "All Settings" -> "Darstellung "
rubo77
4
Cela ne change-t-il pas seulement le menu et les barres de titre, y compris le Lanceur, et PAS le DPI total?
John Scott
1
@FuzzyToothpaste c'est pourquoi j'ai dit "aide un peu". Ce bit est que, lorsque vous baissez l’échelle, mis à part le changement du menu, de la barre de titre et des icônes du lanceur, la taille réelle des fenêtres sera réduite en raison de la modification. Cela aide donc un peu si vous avez, par exemple, une résolution de 1280x720 (comme un ordinateur portable) et que vous souhaitez adapter les fenêtres à l’intérieur de cette résolution. Réduire l’échelle à 0,8 ou moins donnera l’impression que vous utilisez 1080 au lieu de 720. Bien sûr, c'est avec Non Hi-DPI comme les produits Apple. J'imagine que l'effet serait plus important sur ce type de matériel.
Luis Alvarado
Bonjour, désolé pour mon commentaire; Je souhaite afficher les paramètres d'affichage comme sur vos images via la session xserver: existe-t-il un moyen de le faire?
9

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

C'est simplement que Xorg indique à l'environnement de bureau quelle est la résolution de l'affichage physique. Et oui, vous pouvez remplacer cela dans le fichier Xorg.conf, mais cela aura le même effet que de modifier le paramètre dans votre DE. Par exemple dans Kubuntu / KDE:

entrez la description de l'image ici

Gertvdijk
la source
3
Existe-t-il une version Ubuntu (Unity) de ce gestionnaire de polices?
Luis Alvarado
@LuisAlvarado Non, il semble que ce soit uniquement GNOME2 et KDE qui offrent cela ... Gnome-tweak-tool devrait pouvoir le faire, mais il bloque ma machine virtuelle Unity 12.10 à chaque modification de la taille de la police.
gertvdijk
9

Avait un problème similaire, sur un écran 2880x1620. Voir http://ubuntuforums.org/showthread.php?t=2106549 Résolu en mettant

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

dans mon ~ / .xprofile

Au lieu de "DP-0", mettez ce que vous voulez

xrandr

vous dit comme nom d'appareil.

Vous pouvez modifier l’échelle bien sûr, mais 0.5 n’a pas l’air sympa sur mon écran.

tuse
la source
3
Ceci n’est qu’une solution de contournement, car vous perdez la vraie résolution. Avec cette mise à l'échelle, votre moniteur n'affiche que la moitié du pixel au lieu de le restituer dans la résolution mise à l'échelle
rubo77
1
Malheureusement, la souris ne s'adapte pas au même rythme que l'écran lorsque vous l'utilisez :-( Lorsque vous réduisez la taille de votre image, c'est inoffensif, car la souris explore l'espace vide en dehors de l'écran, mais lorsque vous effectuez une réduction pour obtenir une application complexe qui s'affiche correctement. sur des écrans plus petits, la souris n'atteint pas le bord de l'écran, ce qui la rend inutilisable dans ce cas d'utilisation
marsbard
7

Bien que le xserver-command=X -dpi ...et xrandr --dpi ...donné ci-dessus ait très bien fonctionné dans les versions précédentes d'Ubuntu, dans Ubuntu 13.10 (c'est ce que j'ai) Unity ignore ces paramètres et maintient la résolution corrigée (pour autant que le serveur X soit concerné à 96 dpi).

Et la xrandr --scale ...commande redimensionne l'écran comme décrit, mais le redimensionne de manière à rendre le texte et les icônes un peu flous. Mais ça marche.

Il semble que dans Ubuntu 13.10, la meilleure option ne consisterait peut-être pas à essayer de modifier le paramètre dpi pour le serveur X, mais plutôt à la unity-tweak-toolpour modifier les polices par défaut utilisées par Unity et le facteur de redimensionnement des polices par défaut. Vous pouvez télécharger le logiciel à unity-tweak-toolpartir du centre logiciel Ubuntu. Lorsque vous ouvrez leunity-tweak-toolCliquez sur le bouton Polices et essayez de modifier le facteur de mise à l'échelle de la police à 1,2 ou 1,25 (ou supérieur ou inférieur) pour que les polices apparaissent correctement. Sur ce panneau de configuration, vous pouvez également modifier les polices par défaut utilisées par Unity. Certes, cette solution ne permet pas de tout redimensionner à l'écran, mais uniquement le texte, mais elle fonctionne très bien sur mon ordinateur portable doté d'un écran de 166 ppp. Il semble que les navigateurs Web tels que Firefox et Chromium ne remarquent pas ce paramètre, mais Firefox et Chromium vous permettent tous les deux de définir une taille de police minimale dans les paramètres de l’application afin d’augmenter la taille des polices des pages Web de la même manière.

CarlGWatts
la source
Bonne recherche Carl.
Luis Alvarado
5

Dans Ubuntu 14.10, avec un ordinateur portable de 15 ", résolution 1920x1080 (345mm x 145mm), avec une densité de 143ppi / dpi, j’ai fait ce qui suit.

Dans /etc/X11/xorg.conf.d/xorg.conf, j'ai ajouté ce qui suit:

# xdpyinfo | grep -B2 resolution
# https://wiki.archlinux.org/index.php/xorg#Display_size_and_DPI
Section "Monitor"
    Identifier             "<default monitor>"
    DisplaySize             345 195    # In millimeters
EndSection

Ceci définit les paramètres dpi du système sur 143dpi:

$ xdpyinfo | grep dots
resolution:    142x142 dots per inch

J'ai également fait tous les réglages mentionnés ci-dessus:

  • Paramètres système (dans le panneau Unity) -> Affichages -> Échelle des barres de menu et de titre: 1.25
  • En chrome, je commence par: chrome-browser --enable_hidpi = 1
  • Dans Firefox, j'ai défini environ: config -> layout.css.devPixelsPerPx: 1.4
  • Dans atom.io, j'ai commenté ce problème

J'ai besoin de peaufiner chaque application que je prévois utiliser. De plus, dans les navigateurs, ce zoom génère également des images floues (icônes, boutons de pages Web, etc.), car il est également zoomé. J'aimerais définir une image en taille 1: 1 et 2: 1 avec un simple clic ou un geste.

J'espère que cela ajoutera des informations utiles au 9 octobre 2014.

utilisateur12933
la source
Je pense que vous pouvez corriger le flou en mettant à l'échelle un multiple de 12. En vous-même, définissez le dpi sur 144
Martin Konecny ​​Le
+1 pour mettre la date dans votre message. Je fais ça parfois mais vous me rappelez que je dois le faire plus souvent. (indice pour tout le monde).
WinEunuuchs2Unix
3

Installez Ubuntu-Tweak http://ubuntu-tweak.com/

Ouvrez-le et allez dans 'Tweaks> Fonts'. Puis changez le "facteur de mise à l'échelle du texte"

Fonctionne très bien. Prendre plaisir.

Royer
la source
3

Vous pouvez tout redimensionner avec xrandr, ce qui est probablement ce que vous recherchez. Je ne suis pas sûr de savoir comment cela fonctionne en interne, mais l'effet semble être un changement de dpi.

Pour redimensionner votre résolution, commencez par trouver le nom de votre moniteur avec xrandr:

lars:~$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 1600 x 1600
LVDS connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1366x768       60.0*+
   1280x768       60.0 +
   1280x720       60.0 +
   1024x768       60.0 +
   1024x600       60.0 +
   800x600        60.0 +
   800x480        60.0 +
   720x480        60.0 +
   640x480        60.0 +
DFP1 disconnected (normal left inverted right x axis y axis)
CRT1 disconnected (normal left inverted right x axis y axis)

Donc, dans mon cas, l'écran de mon ordinateur portable s'appelle LVDS.

Ensuite, lancez ce qui suit pour redimensionner votre résolution:

xrandr --output LVDS --scale 0.75x0.75

Le Lanceur et le Panneau peuvent disparaître un instant, mais passez simplement votre curseur dessus pour qu'ils réapparaissent. Vous devrez peut-être également redimensionner les fenêtres ouvertes pour qu’elles s’adaptent à la résolution plus petite.

Lars Nyström
la source
Celui-ci brouille la sortie
Beernarrd
2

Alors que je finissais sur cette question à la recherche de la mise à l'échelle Windows HiDPI dans Ubuntu Gnome, voici mon ajout aux suggestions aléatoires, afin que je puisse le trouver lorsque j'en aurai besoin à nouveau. :)

Pour accéder à cette boîte de dialogue, ouvrez Gnome Tweaks et accédez à la section Windows.

Gnome Tweaks - Windows

Andersoyvind
la source
0

J'utilise Zorin8 (basé sur Ubuntu13.x).

Vous pouvez redimensionner l’écran avec la souris (1024/800 = 1.28, 768/600 = 1.28):

xrandr --output LVDS1 --mode 800x600 --panning 1024x768 --scale 1.28x1.28

Ou seulement faire un panoramique sur l’écran, vous devez donc utiliser la souris pour voir les parties non visibles à l’écran:

xrandr --output LVDS1 --mode 800x600 --panning 1024x768
DaanP
la source
-2

Vous ne pouvez pas réellement changer les ppp physiques de votre moniteur. Le ppp réel est le ppp matériel réel, mais la plupart des logiciels supposent un ppp de 72 ppp pour des raisons historiques, bien que 96 ppp ne soit pas inhabituel pour le moment.

Vous pouvez changer la résolution du moniteur, ce qui change le ppi traduit, et vous pouvez changer des choses comme la taille de la police.

Si vous installez MyUnity, vous pouvez, entre autres choses, changer la police DPI.

Si vous disposiez d'un moniteur véritable de 1024x768 pixels (résolution) et que vous utilisiez une résolution de 72 ppp, il s'agirait d'un moniteur de 17 ". Si vous définissez une taille de police de 72, la taille du caractère sera de 1". Si vous définissez l'affichage sur une résolution de 800x600, la police sera plus grande, alors que définir 1600x1200 réduira l'apparence de la police.

fabricant4
la source
Qu'en est-il des options xorg telles que "UseEDIDDpi" et "DPI"? J'ai lu que, par exemple, le premier peut désactiver la lecture de l'EDID à partir de la carte vidéo au cas où il serait mal lu et avec DPI, vous pouvez changer le DPI. C'est ce qui me trouble.
Luis Alvarado