Ekran DPI'sını nasıl bulabilir ve değiştirebilirim?


87

Ekran DPI (inç başına nokta) ayarını 12.04 ve 12.10'da bulmaya ve değiştirmeye çalışıyorum . Ancak, bunu yapabilecek herhangi bir uygulama veya yapılandırma dosyası bulamıyorum. Bunun için herhangi bir uygulama veya conf dosyası var mı?

Bunun 12.04+ için olduğunu ve aşağıdakilerin işe yaramayacağını unutmayın:

Dahası, temel olarak gerçek ekran DPI'sını değil, font boyutunu değiştiriyorlar.


1
Her monitörde farklı dpi değerlerine sahip olmak için egzersiz yapmaya çalışıyorum.
ctrl-alt-delor

1
Merhaba, @ richard, eğer yaparsan, adımlarını ve sonuçlarını buraya koymanı çok isteriz. Teşekkür ederim.
Luis Alvarado

Yanıtlar:


117

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 dotsrapor edildi 96x96 dots, xrdb -query | grep dpirapor edildi Xft.dpi: 96, grep DPI /var/log/Xorg.0.logbazı 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 connectedX 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-edidPaketi kurun ve komutu sudo get-edid | parse-edid | grep DisplaySizeterminalde ç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.confbir parametre ekleyin [SeatDefaults]:

xserver-command=X -dpi 90

Varsayılan olarak 16.04'te böyle bir dosya yoktur, bu nedenle lightdm.confel 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.logistenen 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 90alana ayarlayın. Değişiklikleri kaydedin ve tekrar giriş yapın. Şimdi xdpyinfo | grep dotsrapor vereceğim 90x90 dots.

Eğer xdpyinfohala 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.logve xdpyinfodeğ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 dconftercih ederseniz kullanın ):

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

Değişiklikler bir kerede uygulanacaktır. xrdb -query | grep dpiistenen 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.


2
Bu çok eksiksiz bir cevap (her şeyin tadını çıkardı) yeni bilgilerle dolu bir cevap. Teşekkürler whtyger. +1
Luis Alvarado

2
Yüksek not için teşekkürler. Sorunun çözülmesi için her yeri kazıp birkaç gün geçirdim ve şimdi bunu herkesle paylaşmaktan mutluluk duyuyorum.
whtyger

1
İşte size değerleri hesaplamak için zaman kazandırmak için bir e-tablo: docs.google.com/spreadsheet/…
Tom Carchrae


1
@RaffiKhatchadourian Şema var org.gnome.desktop.interfaceve içinde anahtar scaling-factorvar. Varsayılan değer 1'dir ve yalnızca tam sayı olabilir. HiDPI ekranlar için tasarlanmıştır. Tamsayılı olmayan bir ölçeklendirme faktörü kullanarak elde etmek için bazı yöntemler vardır xrandr. Bu bağlantıyı kontrol edin: wiki.archlinux.org/index.php/HiDPI (bu Arch bilgi bankası, bunu Ubuntu'da test etmedi).
whtyger

28

14.04 ile başlayarak, size yardımcı olacak bir seçeneğe sahibiz:

Ölçeklendirme Desteği

Aşağıdaki resimde , yazı tiplerinde ve başlık çubuklarında 0,75 değerinde ölçeklendirmeyi görebiliyoruz :

görüntü tanımını buraya girin

Aşağıdaki resimde , yazı tipleri ve başlık çubuklarında 1.38 değerinde olan ölçeklendirmeyi görebiliyoruz :

görüntü tanımını buraya girin


3
Bu benim için Ubuntu 14.04'te işe yaradı (almanca: "Anzeigegeräte") Varsayılan font ölçeklendirme faktörünü 1.0'a geri yüklemek zorunda kaldım (bunu daha önce 2.0 olarak ayarladım) ve "Tüm Ayarlar" -> "Darstellung" da Başlatıcı-İkon boyutunu yeniden ayarlamak zorunda kaldım. "
rubo77

4
Bu sadece Başlatıcısı da dahil olmak üzere menü ve başlık çubuklarını değiştirmez mi, toplam DPI değerini değiştirmez mi?
John Scott

1
@FuzzyToothpaste bu yüzden "biraz yardımcı olur" dedim. Bu, ölçeği düşürdüğünüzde menüyü, başlık çubuğunu ve başlatıcı simgelerini değiştirmenin yanı sıra, değişiklik nedeniyle pencerelerin gerçek boyutunun daha küçük olacağı yönündedir. Bu nedenle, örneğin bir 1280x720 çözünürlüğe sahipseniz (bir dizüstü bilgisayar gibi) ve bu 720'nin içine pencereleri yerleştirmek istiyorsanız, biraz yardımcı olur. Ölçeği 0,8 veya altına düşürmek, 720 yerine 1080 kullanıyormuş gibi hissedeceksiniz. Bu Tabii ki elma ürünleri gibi, Hi-DPI Dışı. Sanırım bu tür bir donanım üzerindeki etkisi daha büyük olurdu.
Luis Alvarado

Merhaba, yorumum için üzgünüm; Xserver oturumu aracılığıyla Görüntü Ayarlarını Göster resimlerini görüntülemek istiyorum: Bunu yapmanın bir yolu var mı?

9

Ubuntu'daki deneyimlerime göre, font DPI ayarını değiştirmek, fontların oluşturulma şeklinden çok daha fazla değişiyor. Aynı zamanda, örneğin ikonlar ve menüler için de geçerlidir.

Sadece Xorg, Fiziksel ekranın DPI'sının ne olduğu konusunda Masaüstü Ortamına işaret ediyor. Ve evet, bunu Xorg.conf dosyasında geçersiz kılabilirsiniz, ancak DE'nizdeki ayarı değiştirmekle aynı etkiye sahiptir. Örneğin Kubuntu / KDE’de:

görüntü tanımını buraya girin


3
Bu yazı tipi yöneticisinin bir Ubuntu (Unity) sürümü var mı?
Luis Alvarado,

@LuisAlvarado Hayır, görünen o ki bu sadece GNOME2 ve KDE bunu sunuyor ... Gnome-tweak-tool bunu yapabilmeli, ancak yazı tipi boyutunu değiştirirken 12.10 Unity VM'mi bozuyor.
gertvdijk

9

Benzer bir sorun vardı, 2880x1620 ekranda. Bkz. Http://ubuntuforums.org/showthread.php?t=2106549 Koyarak çözüldü.

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

benim ~ / .xprofile içine

"DP-0" yerine, ne olursa olsun koymak

xrandr

size cihazın adını söyler.

Tabii ölçeğini ince ayar yapabilirsiniz, ancak 0.5 bir şekilde ekranımda hoş görünmüyordu.


3
Bu sadece geçici bir çözüm, gerçek çözünürlüğü kaybediyorsunuz. Bu ölçeklendirmede, monitörünüz ölçeklendirilmiş çözünürlükte yeniden oluşturmak yerine yalnızca pikselin yarısını görüntüler
rubo77

1
Maalesef, fare kullanırken bu ekranla aynı oranda ölçeklenmiyor :-( Sizin gibi aşağı doğru ölçeklenirken, fare ekranın dışındaki boş alanı araştırdığı için zararsızdır, ancak karmaşık bir uygulamanın iyi görüntülenmesini sağlamak için yukarı doğru ölçeklendirirken küçük ekranlarda, fare bu kullanım durumunda kullanılamaz kılan ekranın kenarına
ulaşmaz

7

İken xserver-command=X -dpi ...ve xrandr --dpi ...Birlik bu ayarları göz ardı eder ve sabit dpi tutar (ı ne var) Ubuntu 13.10 de, Ubuntu önceki sürümlerinde çok iyi çalışmış olabilir yukarıda verilen (bildiğim kadarıyla X sunucusu 96 dpi'de söz konusu olduğunda).

Ve xrandr --scale ...komut ekranı açıklandığı gibi ölçeklendirir, ancak metni ve simgeleri biraz bulanıklaştıracak şekilde ölçeklendirir. Ama işe yarıyor.

Görünüşe göre Ubuntu 13.10'da en iyi seçenek X sunucusunun dpi ayarını değiştirmeye çalışmak değil, bunun yerine unity-tweak-toolUnity tarafından kullanılan varsayılan fontları ve varsayılan font ölçeklendirme faktörünü değiştirmek için kullanılması olabilir. unity-tweak-toolUbuntu Yazılım Merkezi'nden indirebilirsiniz . Açtığınızdaunity-tweak-toolYazı Tipleri düğmesine gidin ve yazı tiplerinin sizin için iyi bir boyutta görünmesini sağlamak için yazı tipi ölçeklendirme faktörünü 1,2 veya 1,25 (veya daha yüksek veya daha düşük) olarak değiştirmeyi deneyin. Bu kontrol panelinde Unity tarafından kullanılan varsayılan fontları da değiştirebilirsiniz. Kuşkusuz bu çözüm ekrandaki her şeyi, yalnızca metni ölçeklendirmiyor, ancak 166 dpi ekranı ile dizüstü bilgisayarımda gerçekten iyi çalışıyor. Görünen o ki, Firefox ve Chromium gibi web tarayıcıları bu ayarın farkına varmıyor, ancak her Firefox ve Chromium, web sayfalarındaki fontları aynı şekilde ölçeklendirmek için uygulama ayarlarında minimum font boyutu belirlemenizi sağlıyor.


İyi araştırmalar Carl.
Luis Alvarado

5

Ubuntu 14.10'da, 15 inçlik bir dizüstü bilgisayarla, 1920x1080 çözünürlükte (345mm x 145mm), 143ppi / dpi yoğunluğu ile, aşağıdakileri yaptım.

/Etc/X11/xorg.conf.d/xorg.conf içine aşağıdakileri ekledim:

# 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

Bu, sistem genelinde dpi ayarlarını sağa 143 dpi olarak ayarlar:

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

Ayrıca yukarıda belirtilen tüm ayarlamaları ben de yaptım:

  • Sistem ayarları (Unity panelinde) -> Ekranlar -> Menü ve başlık çubukları için ölçeklendirme: 1.25
  • Kromla başladım: chromium-browser --enable_hidpi = 1
  • Firefox’ta şu şekilde ayarlayın: config -> layout.css.devPixelsPerPx: 1.4
  • Atom.io'da bu konuda yorum yaptım

Hemen hemen her uygulamayı ince ayarlamalıyım, kullanmayı düşünüyorum. Tarayıcılarda ayrıca bu zoom da bulanıklaştırabilir (simgeler, web sayfalarındaki düğmeler vb.), Çünkü yakınlaştırır. Tek bir tıklama veya hareketle bazı görüntüleri 1: 1 ve 2: 1 boyutuna ayarlamak isterim.

Umarım 9 Ekim 2014 tarihinden itibaren bazı bilgiler ekler.


Sanırım 12'yi çoğaltarak bulanıklığı düzeltebilirsin. Kendin için dpi'yi 144'e ayarla
Martin Konecny

Yayınınıza tarih koymak için +1. Bunu bazen yapıyorum ama bana daha sık yapmam gerektiğini hatırlatıyorsun. (herkes için ipucu).
WinEunuuchs2Unix

3

Ubuntu-Tweak'i yükleyin http://ubuntu-tweak.com/

Açın ve 'Tweaks> Fonts' bölümüne gidin. Ardından, 'Metin ölçeklendirme faktörü' değiştirin

Harika çalışıyor. Keyfini çıkarın.


3

Her şeyi xrandr ile ölçeklendirebilirsiniz, ki bu muhtemelen aradığınız şeydir. Dahili olarak nasıl çalıştığından emin değilim, ancak etki dpi değişikliği gibi görünüyor.

Çözünürlüğünüzü ölçeklendirmek için, önce ekranınızın adını xrandr ile bulun:

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)

Yani, benim durumumda laptop ekranım LVDS olarak adlandırılıyor.

Ardından çözünürlüğünüzü ölçeklendirmek için aşağıdakileri çalıştırın:

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

Başlatıcı ve Panel bir anlığına kaybolabilir, ancak imlecinizi üzerlerine getirin ve yeniden görünmeleri gerekir. Açık pencereleri daha küçük çözünürlüğe uyacak şekilde yeniden boyutlandırmanız da gerekebilir.


Bu, çıktısını bulanıklaştırır
Beernarrd

2

Bu soruyu bitirdiğimde Ubuntu Gnome'da HiDPI ölçeklendirme pencereleri arıyordum, işte rastgele önerilere ekliyorum, böylece tekrar ihtiyacım olduğunda bulacağım. :)

Bu iletişim kutusuna erişmek için, Gnome Tweaks'i açın ve Windows bölümüne gidin.

GNOME Tweaks - Windows


0

Zorin8 kullanıyorum (Ubuntu13.x tabanlı).

Ekranı fare ile ölçeklendirebilirsiniz (1024/800 = 1.28, 768/600 = 1.28):

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

Veya sadece ekranı kaydırın, bu yüzden ekranda görünmeyen kısımları görmek için fareyi kullanmanız gerekir:

xrandr --output LVDS1 --mode 800x600 --panning 1024x768

-2

Monitörünüzün fiziksel ppi değerini gerçekten değiştiremezsiniz. Gerçek ppi gerçek donanım ppi'dir, ancak çoğu yazılım geçmiş nedenlerden dolayı 72 dpi bir ppi alacaktır, ancak 96 dpi şimdi nadir değildir.

Tercüme edilmiş ppi'yi değiştiren monitörün çözünürlüğünü değiştirebilir ve yazı tipi boyutu gibi şeyleri değiştirebilirsiniz.

MyUnity'yi yüklerseniz, diğerlerinin yanı sıra DPI yazı tipini de değiştirebilirsiniz.

Gerçek bir 1024x768 piksel (çözünürlük) monitörünüz varsa ve gerçek 72dpi ise, yaklaşık 17 "monitör olurdu. 72 punto ayarladıysanız karakter 1" yüksek olurdu. Ekranı 800x600 çözünürlüğe ayarlarsanız font daha büyük olurken 1600x1200 ayarı fontun daha küçük görünmesini sağlar.


"UseEDIDDpi" ve "DPI" gibi xorg seçenekleri nelerdir? Örneğin, birincisinin yanlış okunması durumunda ekran kartından EDID okumasını devre dışı bırakabileceğini ve DPI ile DPI değerini değiştirebileceğinizi okudum. Beni şaşırtan şey bu.
Luis Alvarado,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.