Làm thế nào để tìm và thay đổi màn hình DPI?


87

Tôi đang cố gắng tìm và sau đó thay đổi cài đặt DPI màn hình (số chấm trên mỗi inch) trong 12.04 và 12.10. Tuy nhiên, tôi dường như không thể tìm thấy bất kỳ ứng dụng hoặc tệp cấu hình nào có thể làm điều này. Có bất kỳ ứng dụng hoặc tập tin conf cho điều này?

Lưu ý rằng đây là cho 12.04+ vì vậy những điều sau đây sẽ không hoạt động:

Hơn nữa, về cơ bản họ đang thay đổi kích thước phông chữ, không phải DPI màn hình thực tế.


1
Tôi đang cố gắng tập luyện làm thế nào để có dpi khác nhau, trên mỗi màn hình.
ctrl-alt-delor

1
Xin chào @richard, nếu bạn làm như vậy, chúng tôi rất thích bạn đặt các bước và kết quả của bạn ở đây. Cảm ơn bạn.
Luis Alvarado

Câu trả lời:


117

Đây là phiên bản cập nhật của câu trả lời trước của tôi có liên quan đến Ubuntu 12.04. Trong 16.04 (Xenial) cần có 3 bước để đặt DPI chính xác thay vì 2.

Tôi sẽ giải thích về ví dụ của hệ thống với Ubuntu 12.04 với Gnome Classic và một màn hình có độ phân giải 1680x1050. Cài đặt bắt đầu của tôi: xdpyinfo | grep dotsbáo cáo 96x96 dots, xrdb -query | grep dpibáo cáo Xft.dpi: 96, grep DPI /var/log/Xorg.0.logbáo cáo một số cài đặt kỳ lạ NOUVEAU(0): DPI set to (90, 88).

Trong 16.04, kết quả đầu ra của cả 3 lệnh này đều nhất quán và bằng 96. Mặc dù sự đồng thuận như vậy tốt hơn so với rối loạn 12.04, giá trị được báo cáo là mã hóa cứng và khác xa giá trị DPI thực.

Hãy tính DPI tối ưu cho màn hình của tôi. Kích thước thực của màn hình có thể được tìm thấy bằng lệnh xrandr | grep -w connected(chuyển đổi đầu ra thành centimet) hoặc bằng thước dài bằng tay. Trong trường hợp của tôi : X = 47.4cm; Y = 29.6cm. Chia chúng cho 2,54 để có kích thước tính bằng inch : X ~ 18.66in; Y ~ 11.65in. Cuối cùng chia số lượng chấm thực tế (dựa trên độ phân giải của bạn) cho kích thước tính bằng inch : X = 1680/18.66 ~ 90dpi; Y = 1050/11.65 ~ 90dpi. Vì vậy, dpi thực sự của tôi là 90.

Được cảnh báo , phương pháp đo thủ công có thể chính xác hơn so với đầu ra của lệnh xrandr | grep -w connectedvì các phiên bản mới hơn của máy chủ X bỏ qua kích thước được báo cáo bởi EDID và tính kích thước bằng độ phân giải màn hình và giá trị DPI được mã hóa cứng (xem thêm thông tin tại đây ).
Một phương pháp khác để tìm kích thước của màn hình là đọc EDID của nó trực tiếp. Cài đặt read-edidgói và chạy lệnh sudo get-edid | parse-edid | grep DisplaySizetrong thiết bị đầu cuối. Đầu ra của nó sẽ cung cấp cho bạn kích thước thực tế của màn hình tính bằng milimét. Nếu không - sử dụng thước kẻ.

Hãy bắt đầu sửa chữa DPI:

1) Trong 12.04 chạy gksudo gedit, mở /etc/lightdm/lightdm.confvà thêm một tham số trong [SeatDefaults]phần:

xserver-command=X -dpi 90

Không có tệp nào như vậy trong 16.04 theo mặc định, vì vậy bạn phải tạo lightdm.confthủ công và đặt nó vào /etc/lightdm/lightdm.conf.d/. Nội dung của tệp này giống nhau:

[SeatDefaults]
xserver-command=X -dpi 90

Khởi động lại máy tính của bạn hoặc khởi động lại X. Bây giờ grep DPI /var/log/Xorg.0.logsẽ hiển thị cài đặt mong muốn.

2) Trong câu trả lời trước đây của tôi, tôi đã đề xuất tạo một tệp /etc/X11/Xsession.d/chứa chuỗi xrandr --dpi 90. Điều này hoạt động trong 12.04, nhưng trong 16.04, cài đặt này không liên tục. Trong các hệ thống mới hơn, chúng tôi có thể thêm giá trị mong muốn khi bắt đầu phiên. Chạy "Ứng dụng khởi động", nhấn nút "Thêm", đặt tên là "Khắc phục DPI" và đặt lệnh xrandr --dpi 90trong trường. Lưu các thay đổi và đăng nhập lại. Bây giờ xdpyinfo | grep dotssẽ báo cáo 90x90 dots.

Nếu xdpyinfovẫn hiển thị 96 thì thêm thời gian chờ trước khi chạy xrandr. Chỉnh sửa lệnh trong "Ứng dụng khởi động" và thay đổi thành:

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

Tài liệu tham khảo

Bước 2 là tùy chọn cho 12.04 vì trong các hệ thống cũ hơn Bước 1 sửa cả hai Xorg.0.logxdpyinfogiá trị.

3) Trong cài đặt DPI của Gnome3 được mã hóa cứng thành 96 và không thể thay đổi trực tiếp, nhưng văn bản có thể được thu nhỏ thay thế. Tính hệ số nhân mong muốn: desired_DPI / 96(trong trường hợp của tôi 90/96 = 0.9375). Bây giờ hãy chạy lệnh (hoặc sử dụng dconfnếu bạn thích):

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

Thay đổi sẽ được áp dụng cùng một lúc. xrdb -query | grep dpisẽ báo cáo mong muốn Xft.dpi: 90.

PS Có một phương pháp khác để khắc phục cài đặt DPI khó khăn hơn nhiều và được mô tả trong hướng dẫn này . Tôi cũng đã thử nó và kết quả là như nhau (ít nhất là trong 12.04).

Afterword: Chỉ các nhà phát triển Ubuntu có thể nói chắc chắn liệu các giá trị được sửa đổi bởi Bước 1 & 2 có thực sự quan trọng trong Ubuntu hiện đại hay chúng bị âm thầm bỏ qua. Chỉ có Bước 3 tạo ra những thay đổi đáng chú ý ngay lập tức. Những người dùng cho rằng một số ứng dụng nhất định vẫn có thể dựa vào cài đặt máy chủ X được khuyến khích thực hiện cả 3 bước được mô tả ở trên. Đối với phần còn lại Bước 3 là đủ - đó là cách tùy chỉnh duy nhất được áp dụng trong các bản phân phối Ubuntu hiện đại.


2
Đây là một câu trả lời rất đầy đủ (Rất thích toàn bộ) đầy đủ thông tin mới. Cảm ơn whtyger. +1
Luis Alvarado

2
Cảm ơn vì điểm cao. Tôi đã dành nhiều ngày để đào bới khắp nơi để giải quyết vấn đề và bây giờ rất vui được chia sẻ nó với mọi người.
whtyger

1
đây là bảng tính để giúp bạn tiết kiệm một chút thời gian tính toán các giá trị: docs.google.com.vn/sản ra / từ
Tom Carchrae


1
@RaffiKhatchadourian Có lược đồ org.gnome.desktop.interfacevà khóa scaling-factortrong đó. Giá trị mặc định là 1 và nó chỉ có thể là số nguyên. Nó được dành cho màn hình HiDPI. Có tồn tại một số phương pháp để có được hệ số tỷ lệ không nguyên bằng cách sử dụng xrandr. Kiểm tra liên kết này: wiki.archlinux.org/index.php/HiDPI (đó là kiến ​​thức Arch, chưa thử nghiệm điều này trong Ubuntu).
whtyger

28

Bắt đầu với 14.04, chúng tôi có một tùy chọn giúp một chút:

Hỗ trợ mở rộng

Trong hình ảnh bên dưới, chúng ta có thể thấy tỷ lệ nó có 0,75 trên các phông chữ và thanh tiêu đề:

nhập mô tả hình ảnh ở đây

Trong hình ảnh bên dưới, chúng ta có thể thấy tỷ lệ nó có ở mức 1,38 trên các phông chữ và thanh tiêu đề:

nhập mô tả hình ảnh ở đây


3
Điều đó đã làm việc với tôi trong Ubuntu 14.04 (tiếng Đức: "Anzeigegeräte") Tôi đã phải khôi phục hệ số tỷ lệ phông chữ mặc định thành 1.0 (Tôi đặt nó thành 2.0 bereline) và bán lại kích thước Biểu tượng Trình khởi chạy trong "Tất cả cài đặt" -> "Darstellung "
rubo77

4
Không phải điều đó chỉ thay đổi thanh menu và thanh tiêu đề, bao gồm Trình khởi chạy và KHÔNG phải tổng DPI?
John Scott

1
@FuzzyToothpaste đó là lý do tại sao tôi nói "giúp một chút". Điều đó là, khi bạn hạ thấp tỷ lệ, ngoài việc thay đổi menu, thanh tiêu đề và biểu tượng trình khởi chạy, kích thước Actuall của các cửa sổ, vì sự thay đổi, sẽ nhỏ hơn. Vì vậy, sẽ hữu ích một chút nếu bạn có độ phân giải 1280x720 (như máy tính xách tay) và bạn muốn lắp các cửa sổ bên trong 720. Giảm tỷ lệ xuống 0,8 hoặc thấp hơn sẽ "cảm thấy" như bạn đang sử dụng 1080 thay vì 720. Điều này tất nhiên là với Non Hi-DPI như các sản phẩm táo. Tôi đoán hiệu ứng sẽ lớn hơn đối với các loại phần cứng.
Luis Alvarado

Xin chào, xin lỗi vì nhận xét của tôi; Tôi muốn hiển thị Thanh toán hiển thị như trên ảnh của bạn thông qua phiên xserver: có cách nào để làm điều đó không?

9

Theo như kinh nghiệm của tôi về Ubuntu, việc thay đổi cài đặt DPI phông chữ thay đổi nhiều hơn so với cách hiển thị phông chữ. Nó cũng áp dụng cho các biểu tượng và kích thước của menu chẳng hạn.

Chỉ là Xorg gợi ý Môi trường máy tính để bàn về DPI của màn hình vật lý là gì. Và vâng, bạn có thể ghi đè lên điều này trong Xorg.conf, nhưng nó có tác dụng tương tự như thay đổi cài đặt trong DE của bạn. Ví dụ: trong Kubfox / KDE:

nhập mô tả hình ảnh ở đây


3
Có phiên bản Ubuntu (Unity) của trình quản lý phông chữ này không.
Luis Alvarado

@LuisAlvarado Không, có vẻ như đây chỉ là Gnome2 và KDE cung cấp công cụ này ... Công cụ chỉnh sửa Gnome có thể làm điều này, nhưng nó làm sập máy ảo Unity 12.10 của tôi mỗi khi thay đổi kích thước phông chữ.
gertvdijk

9

Có một vấn đề tương tự, trên màn hình 2880x1620. Xem http://ubuntuforums.org/showthread.php?t=2106549 Được giải quyết bằng cách đặt

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

vào ~ / .xprofile của tôi

Thay vì "DP-0", hãy đặt bất cứ thứ gì

xrandr

cho bạn biết như tên thiết bị.

Bạn có thể điều chỉnh tỷ lệ tất nhiên, nhưng 0,5 bằng cách nào đó trông không đẹp trên màn hình của tôi.


3
Điều này tôi chỉ là một cách giải quyết, khiến bạn mất độ phân giải thực sự. Với tỷ lệ này, màn hình của bạn chỉ hiển thị một nửa pixel thay vì hiển thị lại ở độ phân giải tỷ lệ
rubo77

1
Thật không may, chuột không mở rộng cùng tốc độ với màn hình khi sử dụng :-( Khi thu nhỏ lại như bạn, điều này vô hại vì chuột chỉ khám phá không gian trống bên ngoài màn hình nhưng khi mở rộng để ứng dụng phức tạp hiển thị tốt trên các màn hình nhỏ hơn, chuột không chạm tới mép màn hình khiến điều này không thể sử dụng được trong trường hợp sử dụng đó
marsbard

7

Mặc dù xserver-command=X -dpi ...xrandr --dpi ...được đưa ra ở trên có thể đã hoạt động rất tốt trong các phiên bản Ubuntu trước đó, nhưng trong Ubuntu 13.10 (đó là những gì tôi có), Unity bỏ qua các cài đặt đó và giữ cố định dpi (theo như máy chủ X có liên quan ở 96 dpi).

xrandr --scale ...lệnh sẽ chia tỷ lệ màn hình như mô tả nhưng chia tỷ lệ theo cách làm cho văn bản và biểu tượng hơi mờ. Nhưng nó đã có tác dụng.

Dường như trong Ubuntu 13.10, tùy chọn tốt nhất có thể không phải là cố gắng thay đổi cài đặt dpi cho máy chủ X mà thay vào đó sử dụng unity-tweak-toolđể thay đổi phông chữ mặc định được sử dụng bởi Unity và hệ số tỷ lệ phông chữ mặc định. Bạn có thể tải xuống unity-tweak-tooltừ Trung tâm phần mềm Ubuntu. Khi bạn mởunity-tweak-toolđi tới nút Phông chữ và thử thay đổi hệ số tỷ lệ phông chữ thành 1,2 hoặc 1,25 (hoặc cao hơn hoặc thấp hơn) để các phông chữ xuất hiện một kích thước tốt cho bạn. Trên bảng điều khiển này, bạn cũng có thể thay đổi phông chữ mặc định được sử dụng bởi Unity. Phải thừa nhận rằng giải pháp này không thu nhỏ mọi thứ trên màn hình, chỉ là văn bản, nhưng nó hoạt động thực sự tốt trên máy tính xách tay của tôi với màn hình 166 dpi. Có vẻ như các trình duyệt web như Firefox và Chromium không chú ý cài đặt cài đặt này nhưng mỗi Firefox và Chromium đều cho phép bạn đặt kích thước phông chữ tối thiểu trong cài đặt ứng dụng của chúng để mở rộng phông chữ trên các trang web theo cùng một cách.


Nghiên cứu tốt Carl.
Luis Alvarado

5

Trong Ubuntu 14.10, với máy tính xách tay 15 ,, độ phân giải 1920x1080 (345mm x 145mm), với mật độ 143ppi / dpi, tôi đã làm như sau.

Trong /etc/X11/xorg.conf.d/xorg.conf, tôi đã thêm các mục sau:

# 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

Điều này đặt cài đặt dpi trên toàn hệ thống sang bên phải 143dpi:

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

Tôi cũng đã thực hiện tất cả các điều chỉnh được đề cập ở trên:

  • Cài đặt hệ thống (trong bảng Unity) -> Hiển thị -> Tỷ lệ cho thanh menu và thanh tiêu đề: 1.25
  • Trong crom, tôi bắt đầu với: trình duyệt crom --enable_hidpi = 1
  • Trong Firefox tôi đặt trong about: config -> layout.css.devPixelsPerPx: 1.4
  • Trong Atom.io, tôi đã bình luận về vấn đề này

Tôi cần phải điều chỉnh mọi ứng dụng, tôi dự định sẽ sử dụng. Ngoài ra trong các trình duyệt, thu phóng này cũng dẫn đến hình ảnh mờ (biểu tượng, nút trên trang web, v.v.), vì nó cũng được phóng to. Tôi rất thích đặt một số hình ảnh thành kích thước 1: 1 và 2: 1 chỉ bằng một cú nhấp chuột hoặc cử chỉ.

Hy vọng nó bổ sung một số thông tin hữu ích kể từ ngày 9 tháng 10 năm 2014.


Tôi nghĩ rằng bạn có thể khắc phục độ mờ bằng cách chia tỷ lệ bội số 12. Trong trường hợp của bạn, đặt dpi thành 144
Martin Konecny

+1 để đặt ngày trong bài viết của bạn. Đôi khi tôi làm điều đó nhưng bạn đang nhắc nhở tôi rằng tôi cần phải làm điều đó thường xuyên hơn. (gợi ý cho những người khác).
WinEunuuchs2Unix

3

Cài đặt Ubuntu-Tweak http://ubfox-tweak.com/

Mở nó và đi đến 'Tweaks> Fonts'. Sau đó thay đổi 'Hệ số tỷ lệ văn bản'

Công trình tuyệt vời. Thưởng thức.


3

Bạn có thể mở rộng mọi thứ với xrandr, đây có lẽ là thứ bạn đang tìm kiếm. Tôi không chắc nó hoạt động như thế nào trong nội bộ, nhưng hiệu quả dường như là một sự thay đổi dpi.

Để chia tỷ lệ độ phân giải của bạn, trước tiên hãy tìm tên của màn hình của bạn bằng 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)

Vì vậy, trong trường hợp của tôi, màn hình máy tính xách tay của tôi được gọi là LVDS.

Sau đó chạy phần sau để chia độ phân giải của bạn:

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

Trình khởi chạy và Bảng điều khiển có thể biến mất trong giây lát, nhưng chỉ cần di con trỏ lên chúng và chúng sẽ xuất hiện lại. Bạn cũng có thể phải thay đổi kích thước bất kỳ cửa sổ đang mở nào để chúng phù hợp với độ phân giải nhỏ hơn.


Điều này làm mờ đầu ra
Beernarrd 29/12/18

2

Khi tôi kết thúc câu hỏi này, tìm kiếm các cửa sổ mở rộng HiDPI trong Ubuntu Gnome, đây là phần bổ sung của tôi cho các đề xuất ngẫu nhiên, để tôi sẽ tìm thấy nó khi tôi cần lại. :)

Để truy cập hộp thoại này, hãy mở Gnome Tweaks và đi đến phần Windows.

Tinh chỉnh Gnome - Windows


0

Tôi đang sử dụng Zorin8 (dựa trên Ubuntu13.x).

Bạn có thể chia tỷ lệ màn hình bằng chuột (1024/800 = 1.28, 768/600 = 1.28):

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

Hoặc chỉ xoay màn hình, do đó bạn phải sử dụng chuột để xem các phần không hiển thị trên màn hình:

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

-2

Bạn thực sự không thể thay đổi ppi vật lý của màn hình. Ppi thực là ppi phần cứng thực tế, tuy nhiên hầu hết các phần mềm sẽ giả sử ppi là 72 dpi vì lý do lịch sử, mặc dù 96 dpi hiện không phổ biến.

Bạn có thể thay đổi độ phân giải của màn hình, thay đổi ppi đã dịch và bạn có thể thay đổi những thứ như kích thước phông chữ.

Nếu bạn cài đặt MyUnity, bạn có thể thay đổi phông chữ DPI, trong số những thứ khác.

Nếu bạn có màn hình (độ phân giải) 1024x768 pixel thực sự và nó là 72dpi đúng, thì đó sẽ là màn hình 17 ". Nếu bạn đặt cỡ chữ là 72 thì ký tự sẽ cao 1". Nếu bạn đặt màn hình thành độ phân giải 800x600 thì phông chữ sẽ lớn hơn, trong khi cài đặt 1600x1200 sẽ làm cho phông chữ trông nhỏ hơn.


Còn các tùy chọn xorg như "UseEDIDDpi" và "DPI" thì sao? Tôi đã đọc rằng ví dụ người đầu tiên có thể vô hiệu hóa việc đọc EDID từ thẻ video trong trường hợp nó bị đọc sai và với DPI, bạn có thể thay đổi DPI. Đây là điều làm tôi bối rối.
Luis Alvarado
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.