Come trovare e modificare lo schermo DPI?

81

Sto cercando di trovare e modificare l'impostazione schermo DPI (punti per pollice) in 12.04 e 12.10. Tuttavia, non riesco a trovare alcuna app o file di configurazione in grado di farlo. C'è qualche app o file di conf per questo?

Si noti che questo è per 12.04+ quindi il seguente non funzionerà:

Inoltre, stanno sostanzialmente cambiando la dimensione del carattere, non il DPI dello schermo effettivo.

    
posta Luis Alvarado 08.10.2012 - 16:53

11 risposte

105

Questa è una versione aggiornata della mia precedente risposta che era relativa a Ubuntu 12.04. In 16.04 (Xenial) sono necessari 3 passaggi per impostare DPI correttamente anziché 2.

Spiegherò sull'esempio del sistema con Ubuntu 12.04 con Gnome Classic e un monitor con risoluzione 1680x1050. Le mie impostazioni iniziali: xdpyinfo | grep dots segnalato 96x96 dots , xrdb -query | grep dpi segnalato Xft.dpi: 96 , grep DPI /var/log/Xorg.0.log segnalato alcune impostazioni strane NOUVEAU(0): DPI set to (90, 88) .

In 16.04 le uscite di tutti questi 3 comandi erano coerenti e erano uguali a 96. Sebbene tale consenso sia migliore del disturbo di 12.04, il valore riportato è hardcoded e lontano dal valore DPI reale.

Calcoliamo il DPI ottimale per il mio monitor. La dimensione effettiva dello schermo può essere trovata con il comando xrandr | grep -w connected (converti in output in centimetri) o con un lungo righello a mano. Nel mio caso: X = 47.4cm ; %codice%. Dividili per 2,54 per ottenere la dimensione in pollici: Y = 29.6cm ; %codice%. Infine, dividi la quantità di punti effettiva (in base alla risoluzione) in base alla dimensione in pollici: X ~ 18.66in ; %codice%. Quindi il mio dpi reale è 90.

Sii avvisato , il metodo di misurazione manuale potrebbe essere più accurato rispetto all'output del comando Y ~ 11.65in perché le versioni più recenti di X server ignorano la dimensione riportata da EDID e calcolano la dimensione utilizzando la risoluzione dello schermo e un valore hardcoded di DPI (maggiori informazioni qui ). < br> Un altro metodo per trovare la dimensione del monitor è leggere direttamente il suo EDID. Installa il pacchetto X = 1680/18.66 ~ 90dpi ed esegui il comando Y = 1050/11.65 ~ 90dpi nel terminale. Il suo output ti darà la dimensione reale del tuo monitor in millimetri. In caso contrario, utilizza il righello.

Iniziamo a correggere DPI:

1) In 12.04 esegui xrandr | grep -w connected , apri read-edid e aggiungi un parametro in sudo get-edid | parse-edid | grep DisplaySize sezione:

xserver-command=X -dpi 90

Per impostazione predefinita non ci sono file di questo tipo in 16.04, quindi devi creare gksudo gedit manualmente e inserirli in /etc/lightdm/lightdm.conf . Il contenuto di questo file è lo stesso:

[SeatDefaults]
xserver-command=X -dpi 90

Riavvia il computer o riavvia X. Ora [SeatDefaults] mostrerà l'impostazione desiderata.

2) Nella mia precedente risposta ho proposto di creare un file in lightdm.conf contenente string /etc/lightdm/lightdm.conf.d/ . Questo ha funzionato in 12.04, ma in 16.04 questa impostazione non è persistente. Nei sistemi più recenti possiamo aggiungere il valore desiderato all'avvio della sessione. Eseguire "Applicazioni di avvio", premere il pulsante "Aggiungi", denominarlo "Fix DPI" e impostare il comando grep DPI /var/log/Xorg.0.log nel campo. Salva le modifiche e ri-accedi. Ora /etc/X11/Xsession.d/ riporterà xrandr --dpi 90 .

Se xrandr --dpi 90 mostra ancora 96, quindi aggiungi un timeout prima di eseguire xdpyinfo | grep dots . Modifica il comando in "Applicazioni di avvio" e modificalo in:

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

Riferimento

Il passaggio 2 è opzionale per la 12.04 poiché nei sistemi precedenti il ​​Passaggio 1 corregge entrambi i valori 90x90 dots e xdpyinfo .

3) In GNOME3 l'impostazione DPI è codificata a 96 e non può essere modificata direttamente, ma il testo può essere ridimensionato. Calcola il moltiplicatore desiderato: xrandr (nel mio caso Xorg.0.log ). Ora esegui il comando (o usa xdpyinfo se preferisci):

gsettings set org.gnome.desktop.interface text-scaling-factor 0.9375

Le modifiche verranno applicate contemporaneamente. desired_DPI / 96 riporterà il 90/96 = 0.9375 desiderato.

PS esiste un altro metodo per correggere le impostazioni DPI che è molto più difficile ed è descritto in questa guida. L'ho provato anche io e il risultato è stato lo stesso (almeno in 12.04).

Afterword: solo gli sviluppatori di Ubuntu possono dire con certezza se i valori sono modificati dai passaggi 1 e amp; 2 contano davvero nella moderna Ubuntu o sono silenziosamente ignorati. Solo il passaggio 3 produce le modifiche che sono immediatamente visibili. Gli utenti che ritengono che determinate app possano ancora fare affidamento sulle impostazioni del server X sono incoraggiati a eseguire tutti e 3 i passaggi descritti in precedenza. Per il resto il passaggio 3 è sufficiente - questo è l'unico modo di personalizzazione adottato nelle moderne distribuzioni di Ubuntu.

    
risposta data whtyger 25.03.2013 - 10:32
28

A partire dalla 14.04 abbiamo un'opzione che aiuta un po ':

Supporto per il ridimensionamento

Nell'immagine seguente possiamo vedere il ridimensionamento che ha a 0,75 sui caratteri e sulle barre del titolo:

Nell'immagine sottostante possiamo vedere il ridimensionamento che ha a 1.38 sui caratteri e sulle barre del titolo:

    
risposta data Luis Alvarado 07.05.2014 - 01:46
9

Per quanto riguarda la mia esperienza in Ubuntu, la modifica dell'impostazione DPI dei font cambia molto più del modo in cui i font vengono renderizzati. Ad esempio, si applica alle icone e alle dimensioni dei menu.

È solo che Xorg suggerisce l'ambiente desktop su quale sia il DPI del display fisico. E sì, è possibile sovrascriverlo in Xorg.conf, ma ha lo stesso effetto di modificare le impostazioni nel DE. Ad esempio in Kubuntu / KDE:

    
risposta data gertvdijk 26.01.2013 - 19:47
8

Si è verificato un problema simile su uno schermo 2880x1620. Vedi link Risolto mettendo

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

nel mio ~ / .xprofile

Invece di "DP-0", metti qualunque cosa

xrandr

ti dice come nome del dispositivo.

È possibile modificare la scala, ovviamente, ma 0.5 in qualche modo non è stato piacevole sullo schermo.

    
risposta data tkruse 07.11.2013 - 00:36
6

Mentre xserver-command=X -dpi ... e xrandr --dpi ... di cui sopra possono aver funzionato molto bene nelle versioni precedenti di Ubuntu, in Ubuntu 13.10 (che è quello che ho) Unity ignora quelle impostazioni e mantiene fisso il dpi (fino alla X server è interessato a 96 dpi).

E il comando xrandr --scale ... ridimensiona lo schermo come descritto ma lo ridimensiona in modo tale da rendere il testo e le icone un po 'sfocati. Ma funziona.

Sembra che in Ubuntu 13.10 l'opzione migliore potrebbe non essere quella di provare a cambiare l'impostazione dpi per il server X, ma invece usare unity-tweak-tool per cambiare i font predefiniti usati da Unity e il fattore di ridimensionamento font predefinito. Puoi scaricare unity-tweak-tool dal Software Center di Ubuntu. Quando apri unity-tweak-tool , vai al pulsante Caratteri e prova a modificare il fattore di ridimensionamento dei caratteri su 1,2 o 1,25 (o superiore o inferiore) per ottenere che i caratteri appaiano di buone dimensioni. Su questo pannello di controllo puoi anche cambiare i font di default usati da Unity. Certo, questa soluzione non scala tutto sullo schermo, solo il testo, ma funziona davvero bene sul mio portatile con il suo schermo da 166 dpi. Sembra che i browser Web come Firefox e Chromium non si accorgano di questa impostazione, ma entrambi Firefox e Chromium consentono di impostare una dimensione minima del carattere nelle impostazioni dell'applicazione per ridimensionare i caratteri sulle pagine Web nello stesso modo.

    
risposta data CarlGWatts 23.03.2014 - 02:12
4

In Ubuntu 14.10, con un laptop da 15 ", risoluzione 1920x1080 (345mm x 145mm), con densità di 143ppi / dpi, ho fatto ciò che segue.

In /etc/X11/xorg.conf.d/xorg.conf, ho aggiunto quanto segue:

# 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

Questo imposta le impostazioni dpi a livello di sistema sul giusto 143 dpi:

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

Ho anche fatto tutte le modifiche sopra menzionate:

  • Impostazioni di sistema (nel pannello Unity) - & gt; Visualizza - & gt; Scala per menu e barre del titolo: 1.25
  • In cromo, comincio con: chromium-browser --enable_hidpi = 1
  • In Firefox ho impostato about: config - & gt; layout.css.devPixelsPerPx: 1.4
  • In atom.io, ho commentato questo problema

Praticamente ho bisogno di modificare ogni applicazione, ho intenzione di usare. Anche nei browser questo zoom produce anche immagini sfocate (icone, pulsanti sulle pagine Web, ecc.), Perché viene ingrandito anche. Mi piacerebbe impostare alcune immagini in formato 1: 1 e 2: 1 con un solo clic o un gesto.

Spero che aggiunga alcune informazioni utili a partire dal 9 ottobre 2014.

    
risposta data user12933 09.10.2014 - 13:38
3

Installa Ubuntu-Tweak link

Aprilo e vai a "Tweaks & gt; Font. Quindi modifica il "Fattore di ridimensionamento del testo"

Funziona alla grande. Godere.

    
risposta data Royer 06.03.2013 - 15:43
3

Puoi ridimensionare tutto con xrandr, che è probabilmente quello che stai cercando. Non sono sicuro di come funzioni internamente, ma l'effetto sembra essere un cambiamento in dpi.

Per ridimensionare la tua risoluzione, devi prima trovare il nome del tuo display con 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)

Quindi, nel mio caso il display del mio portatile è chiamato LVDS.

Quindi esegui quanto segue per ridimensionare la risoluzione:

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

Il Launcher e il Pannello potrebbero scomparire per un momento, ma semplicemente passare il cursore su di essi e dovrebbero riapparire. Potrebbe anche essere necessario ridimensionare qualsiasi finestra aperta in modo che si adatti alla risoluzione più piccola.

    
risposta data Lars Nyström 18.10.2013 - 22:19
2

Mentre terminavo questa domanda cercando il ridimensionamento HiDPI di Windows in Ubuntu Gnome, ecco la mia aggiunta a suggerimenti casuali, in modo che io possa trovarla quando ne ho bisogno di nuovo. :)

Per accedere a questa finestra di dialogo, apri Gnome Tweaks e vai alla sezione Windows.

    
risposta data andersoyvind 22.03.2016 - 09:44
0

Sto usando Zorin8 (basato su Ubuntu13.x).

È possibile ridimensionare lo schermo con il mouse (1024/800 = 1,28, 768/600 = 1,28):

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

O solo panoramica dello schermo, quindi devi usare il mouse per vedere le parti che non sono visibili sullo schermo:

xrandr --output LVDS1 --mode 800x600 --panning 1024x768
    
risposta data DaanP 06.05.2014 - 13:20
-2

In realtà non è possibile modificare il ppi fisico del monitor. Il vero ppi è l'attuale ppi hardware, tuttavia la maggior parte dei software assumerà un ppi di 72 dpi per ragioni storiche, sebbene 96 dpi non siano rari ora.

Puoi cambiare la risoluzione del monitor, che cambia il ppi tradotto, e puoi cambiare cose come la dimensione del carattere.

Se installi MyUnity puoi modificare il DPI del font, tra le altre cose.

Se disponevi di un vero monitor da 1024x768 pixel (risoluzione) ed era vero 72 dpi, si trattava di un monitor da 17 "Se si imposta una dimensione del font pari a 72, un carattere sarebbe alto 1". Se imposti il ​​display su una risoluzione di 800x600, il carattere sarà più grande, mentre l'impostazione di 1600x1200 renderà il carattere più piccolo.

    
risposta data fabricator4 08.10.2012 - 17:39

Leggi altre domande sui tag