Bu, önceki cevabımın Ubuntu 12.04 ile ilgili olan güncellenmiş bir versiyonudur. 16.04'te (Xenial) DPI'yı 2 yerine doğru şekilde ayarlamak için 3 adım gerekir.
Gnome Classic ve 1680x1050 çözünürlüğe sahip bir monitör ile Ubuntu 12.04 sistemli bir örneği açıklayacağım. Başlangıç ayarlarım: xdpyinfo | grep dots
rapor edildi 96x96 dots
, xrdb -query | grep dpi
rapor edildi Xft.dpi: 96
, grep DPI /var/log/Xorg.0.log
bazı tuhaf ayarlar bildirdi NOUVEAU(0): DPI set to (90, 88)
.
16.04'te, tüm bu 3 komutun çıktısı tutarlıydı ve 96'ya eşitti. Böyle bir fikir birliği 12.04 bozukluğundan daha iyi olsa da, rapor edilen değer kodlanmış ve gerçek DPI değerinden uzak.
Monitörüm için en uygun DPI değerini hesaplayalım. Ekranın gerçek boyutu komutla xrandr | grep -w connected
(çıktıyı santimetreye dönüştürür) veya elle uzun bir cetvel ile bulunabilir. Benim durumumda X = 47.4cm
:; Y = 29.6cm
. Boyutu inç cinsinden almak için bunları 2,54'e bölün X ~ 18.66in
:; Y ~ 11.65in
. Son olarak, gerçek nokta miktarını (çözünürlüğünüze göre) inç cinsinden boyutuna bölün X = 1680/18.66 ~ 90dpi
:; Y = 1050/11.65 ~ 90dpi
. Yani benim gerçek dpi 90.
Uyardı olun , ölçüm manuel yöntem komutunun çıktısından daha, daha doğru olabilir xrandr | grep -w connected
X sunucusu yeni sürümleri EDID tarafından bildirilen boyutu göz ardı edip ekran çözünürlüğü ve DPI bir kodlanmış değeri (daha fazla bilgi kullanarak boyutunu hesaplamak çünkü burada ).
Monitörün boyutunu bulmak için bir başka yöntem de EDID'ini doğrudan okumaktır. read-edid
Paketi kurun ve komutu sudo get-edid | parse-edid | grep DisplaySize
terminalde çalıştırın . Çıkışı size monitörünüzün gerçek boyutunu milimetre cinsinden verecektir. Değilse - cetveli kullanın.
DPI düzeltmeye başlayalım:
1) 12.04 çalıştırmasında gksudo gedit
, açıp bölüme /etc/lightdm/lightdm.conf
bir parametre ekleyin [SeatDefaults]
:
xserver-command=X -dpi 90
Varsayılan olarak 16.04'te böyle bir dosya yoktur, bu nedenle lightdm.conf
el ile oluşturmanız ve onu yerleştirmeniz gerekir /etc/lightdm/lightdm.conf.d/
. Bu dosyanın içeriği aynıdır:
[SeatDefaults]
xserver-command=X -dpi 90
Bilgisayarınızı yeniden başlatın veya X'i yeniden başlatın. Şimdi grep DPI /var/log/Xorg.0.log
istenen ayarı gösterecektir.
2) Eski cevabımda /etc/X11/Xsession.d/
dize içeren bir dosya oluşturmayı önerdim xrandr --dpi 90
. Bu 12.04'te çalıştı, ancak 16.04'te bu ayar kalıcı değil. Yeni sistemlerde oturum başlangıcında istenen değeri ekleyebiliriz. "Startup Applications" (Çalıştırma Uygulamaları) çalıştırın, "Add" (Ekle) düğmesine basın, "Fix DPI" olarak adlandırın ve komutu xrandr --dpi 90
alana ayarlayın. Değişiklikleri kaydedin ve tekrar giriş yapın. Şimdi xdpyinfo | grep dots
rapor vereceğim 90x90 dots
.
Eğer xdpyinfo
hala 96 gösteriyor sonra çalıştırmadan önce bir zaman aşımı ekleyin xrandr
. "Başlangıç Uygulamaları" içindeki komutu düzenleyin ve değiştirin:
bash -c "sleep 15; xrandr --dpi 90"
Referans
Eski sistemlerde 1 düzeltmeleri hem Adım çünkü 2. Adım 12.04 için isteğe bağlıdır Xorg.0.log
ve xdpyinfo
değerler.
3) GNOME3 DPI'da 96'ya ayarlanmıştır ve doğrudan değiştirilemez, ancak bunun yerine metin ölçeklenebilir. İstediğiniz çarpanı hesaplayın: desired_DPI / 96
(benim durumumda 90/96 = 0.9375
). Şimdi komutu çalıştırın (veya dconf
tercih ederseniz kullanın ):
gsettings set org.gnome.desktop.interface text-scaling-factor 0.9375
Değişiklikler bir kerede uygulanacaktır. xrdb -query | grep dpi
istenen bildirir Xft.dpi: 90
.
PS Çok daha zor olan DPI ayarını düzeltmek için başka bir yöntem var ve bu kılavuzda açıklanmıştır . Ben de denedim ve sonuç aynıydı (en azından 12.04'te).
Son Söz: Sadece Ubuntu geliştiricileri, Adım 1 ve 2 ile değiştirilen değerlerin modern Ubuntu'da gerçekten önemli olup olmadığını veya sessizce göz ardı edildiğini söyleyebilirler. Yalnızca 3. Adım, anında fark edilebilen değişiklikleri üretir. Bazı uygulamaların hala X sunucu ayarlarına güvenebileceğini düşünen kullanıcıların yukarıda açıklanan 3 adımı da gerçekleştirmeleri önerilir. Gerisi için, 3. Adım yeterlidir - modern Ubuntu dağıtımlarında benimsenen tek özelleştirme yöntemidir.