Bagaimana menemukan dan mengubah layar DPI?

87

Saya mencoba untuk menemukan dan kemudian mengubah pengaturan DPI layar (titik per inci) di 12,04 dan 12,10. Namun, sepertinya saya tidak dapat menemukan aplikasi atau file konfigurasi yang dapat melakukan ini. Apakah ada aplikasi atau file conf untuk ini?

Perhatikan bahwa ini untuk 12.04+ sehingga yang berikut ini tidak akan berfungsi:

Selain itu, mereka pada dasarnya mengubah ukuran font, bukan DPI layar yang sebenarnya.

Luis Alvarado
sumber
1
Saya mencoba berolahraga bagaimana memiliki dpi yang berbeda, pada setiap monitor.
ctrl-alt-delor
1
Hai @richard, jika Anda melakukannya, kami ingin Anda meletakkan langkah dan hasil Anda di sini. Terima kasih.
Luis Alvarado

Jawaban:

117

Ini adalah versi terbaru dari jawaban saya sebelumnya yang terkait dengan Ubuntu 12.04. Dalam 16,04 (Xenial) 3 langkah diperlukan untuk mengatur DPI dengan benar, bukan 2.

Saya akan menjelaskan pada contoh sistem dengan Ubuntu 12.04 dengan Gnome Classic dan monitor dengan resolusi 1680x1050. Pengaturan awal saya: xdpyinfo | grep dotsdilaporkan 96x96 dots, xrdb -query | grep dpidilaporkan Xft.dpi: 96, grep DPI /var/log/Xorg.0.logmelaporkan beberapa pengaturan aneh NOUVEAU(0): DPI set to (90, 88).

Dalam 16,04 output dari ketiga perintah ini konsisten dan sama dengan 96. Meskipun konsensus seperti itu lebih baik daripada gangguan 12,04, nilai yang dilaporkan adalah hardcoded dan jauh dari nilai DPI nyata.

Mari kita hitung DPI optimal untuk monitor saya. Ukuran aktual layar dapat ditemukan dengan perintah xrandr | grep -w connected(konversi output ke sentimeter) atau dengan penggaris yang panjang dengan tangan. Dalam kasus saya: X = 47.4cm; Y = 29.6cm. Membagi mereka dengan 2,54 untuk mendapatkan ukuran dalam inci: X ~ 18.66in; Y ~ 11.65in. Terakhir membagi titik-titik jumlah aktual (berdasarkan resolusi Anda) dengan ukuran dalam inci: X = 1680/18.66 ~ 90dpi; Y = 1050/11.65 ~ 90dpi. Jadi dpi saya yang sebenarnya adalah 90.

Berhati-hatilah , metode pengukuran manual mungkin lebih akurat, daripada output dari perintah xrandr | grep -w connectedkarena versi yang lebih baru dari server X mengabaikan ukuran yang dilaporkan oleh EDID dan menghitung ukuran menggunakan resolusi layar dan nilai DPI hardcoded (info lebih lanjut di sini ).
Metode lain bagaimana menemukan ukuran monitor adalah membaca EDID-nya secara langsung. Instal read-edidpaket dan jalankan perintah sudo get-edid | parse-edid | grep DisplaySizedi terminal. Outputnya akan memberi Anda ukuran sebenarnya dari monitor Anda dalam milimeter. Jika tidak - gunakan penggaris.

Mari kita mulai memperbaiki DPI:

1) Dalam menjalankan 12,04 gksudo gedit, buka /etc/lightdm/lightdm.confdan tambahkan parameter di bawah [SeatDefaults]bagian:

xserver-command=X -dpi 90

Tidak ada file seperti itu di 16.04 secara default, jadi Anda harus membuat lightdm.confsecara manual dan memasukkannya ke dalam /etc/lightdm/lightdm.conf.d/. Isi file ini sama:

[SeatDefaults]
xserver-command=X -dpi 90

Nyalakan kembali komputer Anda atau mulai ulang X. Sekarang grep DPI /var/log/Xorg.0.logakan menampilkan pengaturan yang diinginkan.

2) Dalam jawaban saya sebelumnya saya mengusulkan untuk membuat file yang /etc/X11/Xsession.d/berisi string xrandr --dpi 90. Ini bekerja di 12,04, tetapi di 16,04 pengaturan ini tidak persisten. Dalam sistem yang lebih baru, kita dapat menambahkan nilai yang diinginkan pada awal sesi. Jalankan "Aplikasi Startup", tekan tombol "Tambah", beri nama "Perbaiki DPI" dan tetapkan perintah xrandr --dpi 90di bidang. Simpan perubahan dan login kembali. Sekarang xdpyinfo | grep dotsakan melaporkan 90x90 dots.

Jika xdpyinfomasih menunjukkan 96 maka tambahkan batas waktu sebelum berjalan xrandr. Edit perintah di "Aplikasi Startup" dan ubah ke:

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

Referensi

Langkah 2 adalah opsional untuk 12,04 karena dalam sistem yang lebih lama Langkah 1 memperbaiki keduanya Xorg.0.logdan xdpyinfonilai - nilai.

3) Dalam pengaturan DPI GNOME3 hardcoded ke 96 dan tidak dapat diubah secara langsung, tetapi teks dapat diskalakan sebagai gantinya. Hitung pengganda yang diinginkan: desired_DPI / 96(dalam kasus saya 90/96 = 0.9375). Sekarang jalankan perintah (atau gunakan dconfjika Anda suka):

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

Perubahan akan diterapkan sekaligus. xrdb -query | grep dpiakan melaporkan yang diinginkan Xft.dpi: 90.

PS Ada metode lain untuk memperbaiki pengaturan DPI yang jauh lebih sulit dan dijelaskan dalam panduan ini . Saya mencobanya juga dan hasilnya sama (setidaknya dalam 12,04).

Penutup: Hanya pengembang Ubuntu yang dapat mengatakan dengan pasti apakah nilai yang diubah oleh Langkah 1 & 2 benar-benar penting di Ubuntu modern atau diabaikan secara diam-diam. Hanya Langkah 3 yang menghasilkan perubahan yang langsung terlihat. Para pengguna yang menganggap bahwa aplikasi tertentu mungkin masih mengandalkan pengaturan server X didorong untuk melakukan semua 3 langkah yang dijelaskan di atas. Selebihnya, Langkah 3 sudah cukup - itulah satu-satunya cara penyesuaian yang diterapkan di distro Ubuntu modern.

whtyger
sumber
2
Ini adalah jawaban yang sangat lengkap (Menikmati semuanya) yang penuh dengan informasi baru. Terima kasih whtyger. +1
Luis Alvarado
2
Terima kasih untuk nilai tinggi. Saya telah menghabiskan beberapa hari menggali di mana-mana untuk penyelesaian masalah dan sekarang senang berbagi dengan semua orang.
whtyger
1
inilah spreadsheet untuk menghemat waktu Anda menghitung nilai: docs.google.com/spreadsheet/…
Tom Carchrae
1
@RaffiKhatchadourian Ada skema org.gnome.desktop.interfacedan kunci scaling-factordi dalamnya. Nilai standarnya adalah 1 dan hanya bisa bilangan bulat. Ini dimaksudkan untuk tampilan HiDPI. Ada beberapa metode untuk mendapatkan faktor penskalaan non-integer menggunakan xrandr. Periksa tautan ini: wiki.archlinux.org/index.php/HiDPI (itu Arch knowledgebase, belum mengujinya di Ubuntu).
whtyger
28

Dimulai dengan 14,04 kami memiliki opsi yang sedikit membantu:

Dukungan Penskalaan

Pada gambar di bawah ini kita dapat melihat penskalaan pada 0,75 pada bilah font dan judul:

masukkan deskripsi gambar di sini

Pada gambar di bawah ini kita dapat melihat skala yang ada di 1,38 pada font dan judul bar:

masukkan deskripsi gambar di sini

Luis Alvarado
sumber
3
Itu bekerja untuk saya di Ubuntu 14.04 (bahasa Jerman: "Anzeigegeräte") Saya harus mengembalikan faktor penskalaan font default ke 1.0 (saya mengaturnya ke 2.0 sebelum) dan mengubah skala ukuran Launcher-Icon di "Semua Pengaturan" -> "Darstellung "
rubo77
4
Bukankah itu hanya mengubah bilah menu dan judul, termasuk Peluncur, dan BUKAN total DPI?
John Scott
1
@ FuzzyToothpaste itu sebabnya saya berkata "sedikit membantu". Yang sedikit adalah bahwa, ketika Anda menurunkan skala, selain mengubah menu, bilah judul dan ikon peluncur, ukuran sebenarnya dari jendela, karena perubahan, akan lebih kecil. Jadi itu sedikit membantu jika Anda memiliki misalnya resolusi 1280x720 (seperti laptop) dan Anda ingin menyesuaikan windows di dalam 720 itu. Menurunkan skalanya menjadi 0,8 atau kurang akan "terasa" seperti Anda menggunakan 1080 bukannya 720. Ini tentu saja dengan Non Hi-DPI seperti produk apel. Saya kira efeknya akan lebih besar pada jenis perangkat keras tersebut.
Luis Alvarado
Halo, maaf atas komentar saya; Saya ingin menampilkan Display Setttings seperti pada gambar Anda melalui sesi xserver: apakah ada cara untuk melakukannya?
9

Sejauh pengalaman saya di Ubuntu, mengubah pengaturan font DPI berubah jauh lebih dari sekadar cara font ditampilkan. Ini juga berlaku untuk ikon dan ukuran menu misalnya.

Hanya saja Xorg mengisyaratkan Lingkungan Desktop pada apa itu DPI tampilan fisik. Dan ya, Anda bisa menimpanya di Xorg.conf, tetapi memiliki efek yang sama dengan mengubah pengaturan di DE Anda. Misalnya di Kubuntu / KDE:

masukkan deskripsi gambar di sini

gertvdijk
sumber
3
Apakah ada versi Ubuntu (Unity) dari pengelola font ini.
Luis Alvarado
@LuisAlvarado Tidak, sepertinya ini hanya GNOME2 dan KDE yang menawarkan ini ... Gnome-tweak-tool seharusnya bisa melakukan ini, tetapi crash saya 12.10 Unity VM saya setiap kali mengubah ukuran font.
gertvdijk
9

Punya masalah serupa, pada layar 2880x1620. Lihat http://ubuntuforums.org/showthread.php?t=2106549 Dipecahkan dengan menempatkan

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

ke dalam profil ~ / .x saya

Alih-alih "DP-0", masukkan apa pun

xrandr

memberitahu Anda sebagai nama perangkat.

Anda dapat mengubah skala tentu saja, tetapi 0,5 entah bagaimana tidak terlihat bagus di layar saya.

tkruse
sumber
3
Ini saya hanya solusinya, menyebabkan Anda kehilangan resolusi nyata. Dengan penskalaan ini, monitor Anda hanya menampilkan setengah piksel alih-alih merendernya dalam resolusi berskala
rubo77
1
Sayangnya mouse tidak skala pada tingkat yang sama seperti layar saat menggunakan ini :-( Ketika penskalaan seperti Anda ini tidak berbahaya karena mouse hanya mengeksplorasi ruang kosong di luar layar tetapi ketika meningkatkan untuk mendapatkan aplikasi yang kompleks untuk ditampilkan dengan baik pada layar yang lebih kecil, mouse tidak mencapai tepi layar yang membuat ini tidak dapat digunakan dalam kasus penggunaan
marsbard
7

Sementara xserver-command=X -dpi ...dan yang xrandr --dpi ...diberikan di atas mungkin telah bekerja dengan sangat baik di versi Ubuntu sebelumnya, di Ubuntu 13.10 (yang saya miliki) Unity mengabaikan pengaturan itu dan menjaga dpi tetap (sejauh X server berkenaan dengan 96 dpi).

Dan xrandr --scale ...perintahnya memang skala layar seperti yang dijelaskan tetapi skala itu sedemikian rupa sehingga membuat teks dan ikon sedikit buram. Tapi itu berhasil.

Tampaknya di Ubuntu 13.10 pilihan terbaik mungkin bukan untuk mencoba mengubah pengaturan dpi untuk server X melainkan menggunakan unity-tweak-tooluntuk mengubah font default yang digunakan oleh Unity dan faktor penskalaan font default. Anda dapat mengunduh unity-tweak-tooldari Pusat Perangkat Lunak Ubuntu. Ketika Anda membukaunity-tweak-toolbuka tombol Font dan coba ubah faktor penskalaan font menjadi 1.2 atau 1.25 (atau lebih tinggi atau lebih rendah) untuk membuat font muncul ukuran yang baik untuk Anda. Pada panel kontrol ini Anda juga dapat mengubah font default yang digunakan oleh Unity. Diakui solusi ini tidak menskalakan segala sesuatu di layar, hanya teks, tetapi berfungsi dengan sangat baik di laptop saya dengan layar 166 dpi. Tampaknya browser web seperti Firefox dan Chromium tidak memperhatikan pengaturan pengaturan ini, tetapi masing-masing baik Firefox dan Chromium memungkinkan Anda untuk mengatur ukuran font minimum dalam pengaturan aplikasi mereka untuk meningkatkan font pada halaman web dengan cara yang sama.

CarlGWatts
sumber
Penelitian bagus Carl.
Luis Alvarado
5

Di Ubuntu 14.10, dengan laptop 15 ", resolusi 1920x1080 (345mm x 145mm), dengan kepadatan 143ppi / dpi, saya melakukan yang berikut.

Di /etc/X11/xorg.conf.d/xorg.conf, saya menambahkan yang berikut ini:

# 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

Ini mengatur pengaturan dpi seluruh sistem ke 143dpi kanan:

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

Saya juga melakukan semua tweaking yang disebutkan di atas juga:

  • Pengaturan sistem (dalam panel Persatuan) -> Layar -> Skala untuk bilah menu dan judul: 1.25
  • Dalam chromium, saya mulai dengan: chromium-browser --enable_hidpi = 1
  • Di Firefox saya mengatur tentang: config -> layout.css.devPixelsPerPx: 1.4
  • Di atom.io, saya berkomentar tentang masalah ini

Cukup banyak yang saya butuhkan untuk mengubah setiap aplikasi, saya berencana untuk menggunakannya. Juga di browser, zoom ini juga menghasilkan gambar buram (ikon, tombol pada halaman web, dll), karena itu diperbesar juga. Saya ingin mengatur beberapa gambar ke ukuran 1: 1 dan 2: 1 dengan satu klik atau gerakan.

Semoga ini menambahkan beberapa info berguna pada 9 Oktober 2014.

pengguna12933
sumber
Saya pikir Anda dapat memperbaiki keburaman dengan menskalakan kelipatan 12. Dalam kasus Anda, setel dpi ke 144
Martin Konecny
+1 untuk meletakkan tanggal di pos Anda. Saya melakukan itu kadang-kadang tetapi Anda mengingatkan saya bahwa saya harus melakukannya lebih sering. (petunjuk untuk orang lain).
WinEunuuchs2Unix
3

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

Buka dan buka 'Tweaks> Fonts'. Kemudian ubah 'Faktor penskalaan teks'

Bagus sekali. Nikmati.

Royer
sumber
3

Anda dapat mengatur segala sesuatunya dengan xrandr, yang mungkin Anda cari. Saya tidak yakin bagaimana ini bekerja secara internal, tetapi efeknya tampaknya menjadi perubahan dpi.

Untuk mengukur resolusi Anda, pertama cari nama tampilan Anda dengan 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)

Jadi, dalam kasus saya, tampilan laptop saya disebut LVDS.

Kemudian jalankan hal berikut untuk menskala resolusi Anda:

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

Peluncur dan Panel mungkin menghilang sejenak, tetapi arahkan kursor Anda ke atas mereka dan mereka akan muncul kembali. Anda mungkin juga harus mengubah ukuran jendela yang terbuka agar sesuai dengan resolusi yang lebih kecil.

Lars Nyström
sumber
Yang ini mengaburkan hasilnya
Beernarrd
2

Ketika saya berakhir pada pertanyaan ini mencari skala Windows HiDPI di Ubuntu Gnome, inilah tambahan saya untuk saran acak, sehingga saya akan menemukannya ketika saya membutuhkannya lagi. :)

Untuk mengakses dialog ini, buka Gnome Tweaks dan buka bagian Windows.

Gnome Tweaks - Windows

andersoyvind
sumber
0

Saya menggunakan Zorin8 (berdasarkan Ubuntu13.x).

Anda dapat mengatur skala layar dengan mouse (1024/800 = 1.28, 768/600 = 1.28):

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

Atau hanya menggeser layar, jadi Anda harus menggunakan mouse untuk melihat bagian yang tidak terlihat di layar:

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

Anda sebenarnya tidak dapat mengubah ppi fisik monitor Anda. Ppi sebenarnya adalah ppi perangkat keras yang sebenarnya, namun sebagian besar perangkat lunak akan mengasumsikan ppi sebesar 72 dpi karena alasan historis, meskipun 96 dpi tidak jarang sekarang.

Anda dapat mengubah resolusi monitor, yang mengubah ppi yang diterjemahkan, dan Anda dapat mengubah hal-hal seperti ukuran font.

Jika Anda menginstal MyUnity Anda dapat mengubah font DPI, antara lain.

Jika Anda memiliki monitor 1024x768 piksel (resolusi) sejati dan itu benar 72dpi, itu akan menjadi sekitar 17 "monitor. Jika Anda mengatur ukuran font 72 maka karakter akan 1" tinggi. Jika Anda mengatur tampilan ke resolusi 800x600 maka font akan lebih besar, sedangkan pengaturan 1600x1200 akan membuat font tampak lebih kecil.

fabricator4
sumber
Bagaimana dengan opsi xorg seperti "UseEDIDDpi" dan "DPI"? Saya telah membaca bahwa sebagai contoh yang pertama dapat menonaktifkan membaca EDID dari kartu video dalam kasus itu salah baca dan dengan DPI Anda dapat mengubah DPI. Inilah yang membingungkan saya.
Luis Alvarado