Questa è una versione aggiornata della mia precedente risposta relativa a Ubuntu 12.04. In 16.04 (Xenial) sono necessari 3 passaggi per impostare correttamente DPI 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
segnalate 96x96 dots
, xrdb -query | grep dpi
segnalate Xft.dpi: 96
, grep DPI /var/log/Xorg.0.log
segnalate alcune impostazioni strane NOUVEAU(0): DPI set to (90, 88)
.
Nel 16.04 gli output di tutti questi 3 comandi erano coerenti e uguali a 96. Sebbene tale consenso sia migliore del disordine di 12.04, il valore riportato è hardcoded e lontano dal valore DPI reale.
Calcoliamo DPI ottimale per il mio monitor. La dimensione effettiva dello schermo può essere trovata con il comando xrandr | grep -w connected
(converti l'output in centimetri) o con un lungo righello a mano. Nel mio caso X = 47.4cm
:; Y = 29.6cm
. Dividerli per 2,54 per ottenere la dimensione in pollici: X ~ 18.66in
; Y ~ 11.65in
. Infine dividere l'importo effettivo punti (in base alla risoluzione) per la dimensione in pollici: X = 1680/18.66 ~ 90dpi
; Y = 1050/11.65 ~ 90dpi
. Quindi il mio dpi reale è 90.
Attenzione , il metodo di misurazione manuale potrebbe essere più accurato dell'output del comando xrandr | grep -w connected
poiché le versioni più recenti del server X ignorano le dimensioni riportate da EDID e calcolano le dimensioni utilizzando la risoluzione dello schermo e un valore codificato di DPI (maggiori informazioni qui ).
Un altro metodo per trovare la dimensione del monitor è leggere direttamente il suo EDID. Installa il read-edid
pacchetto ed esegui il comando sudo get-edid | parse-edid | grep DisplaySize
nel terminale. Il suo output ti darà le dimensioni effettive del tuo monitor in millimetri. In caso contrario, utilizzare il righello.
Iniziamo a correggere DPI:
1) In esecuzione 12.04 gksudo gedit
, aprire /etc/lightdm/lightdm.conf
e aggiungere un parametro nella [SeatDefaults]
sezione:
xserver-command=X -dpi 90
Non esiste un file simile in 16.04 per impostazione predefinita, quindi è necessario crearlo lightdm.conf
manualmente e inserirlo /etc/lightdm/lightdm.conf.d/
. I contenuti di questo file sono gli stessi:
[SeatDefaults]
xserver-command=X -dpi 90
Riavvia il computer o riavvia X. Ora grep DPI /var/log/Xorg.0.log
mostrerà l'impostazione desiderata.
2) Nella mia precedente risposta ho proposto di creare un file /etc/X11/Xsession.d/
contenente stringa xrandr --dpi 90
. Funzionava nel 12.04, ma nel 16.04 questa impostazione non è persistente. Nei sistemi più recenti possiamo aggiungere il valore desiderato all'avvio della sessione. Esegui "Startup Applications", premi il pulsante "Aggiungi", chiamalo "Fix DPI" e imposta il comando xrandr --dpi 90
nel campo. Salvare le modifiche e accedere nuovamente. Ora xdpyinfo | grep dots
segnalerà 90x90 dots
.
Se xdpyinfo
mostra ancora 96, aggiungi un timeout prima di eseguire xrandr
. Modifica il comando in "Applicazioni di avvio" e modificalo in:
bash -c "sleep 15; xrandr --dpi 90"
Riferimento
Il passaggio 2 è facoltativo per 12.04 perché nei sistemi precedenti il passaggio 1 corregge sia i valori Xorg.0.log
che i xdpyinfo
valori.
3) In GNOME3 DPI l'impostazione è hardcoded su 96 e non può essere modificata direttamente, ma è possibile ridimensionare il testo. Calcola il moltiplicatore desiderato: desired_DPI / 96
(nel mio caso 90/96 = 0.9375
). Ora esegui il comando (o usa dconf
se preferisci):
gsettings set org.gnome.desktop.interface text-scaling-factor 0.9375
Le modifiche verranno applicate immediatamente. xrdb -query | grep dpi
segnalerà il desiderato Xft.dpi: 90
.
PS Esiste un altro metodo per correggere le impostazioni DPI che è molto più difficile ed è descritto in questa guida. L'ho provato anche e il risultato è stato lo stesso (almeno in 12.04).
Postfazione: solo gli sviluppatori Ubuntu possono dire con certezza se i valori modificati dai Passaggi 1 e 2 contano davvero nella Ubuntu moderna o se vengono 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 sopra descritti. Per il resto il passaggio 3 è sufficiente: è l'unico modo di personalizzazione adottato nelle moderne distribuzioni Ubuntu.