स्क्रीन डीपीआई कैसे ढूंढें और बदलें?


87

मैं 12.04 और 12.10 में स्क्रीन डीपीआई (डॉट्स प्रति इंच) सेटिंग को खोजने और फिर बदलने की कोशिश कर रहा हूं । हालाँकि, मुझे ऐसा कोई ऐप या कॉन्फ़िग फ़ाइल नहीं मिल रही है जो ऐसा कर सके। क्या इसके लिए कोई ऐप या कॉन्फिडेंस फाइल है?

ध्यान दें कि यह 12.04+ के लिए है, इसलिए निम्नलिखित काम नहीं करेगा:

इसके अलावा, वे मूल रूप से फ़ॉन्ट आकार बदल रहे हैं, वास्तविक स्क्रीन डीपीआई नहीं।


1
मैं वर्कआउट करने की कोशिश कर रहा हूं कि प्रत्येक मॉनिटर पर अलग-अलग डीपीआई कैसे हो।
सीटीएल-एल्ट-डेलोर

1
हाय @richard, यदि आप करते हैं, तो हम आपके लिए अपने कदम और परिणाम यहाँ रखना पसंद करेंगे। धन्यवाद।
लुइस अल्वाराडो

जवाबों:


117

यह मेरे पिछले उत्तर का एक अद्यतन संस्करण है जो उबंटू 12.04 से संबंधित था। 16.04 (Xenial) में 2 के बजाय DPI को सही ढंग से सेट करने के लिए 3 चरणों की आवश्यकता होती है।

मैं ग्नोम क्लासिक के साथ उबंटू 12.04 के साथ प्रणाली के उदाहरण पर समझाता हूं और संकल्प 1680x1050 के साथ एक मॉनिटर। मेरी शुरुआती सेटिंग्स: xdpyinfo | grep dotsरिपोर्ट की गई 96x96 dots, xrdb -query | grep dpiरिपोर्ट की गई Xft.dpi: 96, grep DPI /var/log/Xorg.0.logकुछ अजीब सेटिंग्स की सूचना दी गई NOUVEAU(0): DPI set to (90, 88)

16.04 में इन सभी 3 कमांडों के आउटपुट सुसंगत थे और 96 के बराबर थे। हालांकि ऐसी सहमति 12.04 के विकार से बेहतर है, रिपोर्ट किया गया मान हार्डकोड और वास्तविक DPI मान से बहुत दूर है।

आइए मेरे मॉनिटर के लिए इष्टतम डीपीआई की गणना करें। स्क्रीन के वास्तविक आकार को कमांड xrandr | grep -w connected(आउटपुट को सेंटीमीटर में परिवर्तित करें) या हाथ से लंबे शासक के साथ पाया जा सकता है । मेरे मामले में X = 47.4cm:; Y = 29.6cm। इंच में आकार प्राप्त करने के लिए उन्हें 2.54 से विभाजित करें X ~ 18.66in:; Y ~ 11.65in। अंतिम रूप से वास्तविक डॉट्स राशि (आपके संकल्प के आधार पर) को इंच में आकार से विभाजित करें X = 1680/18.66 ~ 90dpi:; Y = 1050/11.65 ~ 90dpi। तो मेरी असली डीपीआई 90 है।

सावधान रहें , कमांड के आउटपुट की तुलना में मापने का मैनुअल तरीका अधिक सटीक हो सकता है xrandr | grep -w connectedक्योंकि X सर्वर के नए संस्करण EDID द्वारा रिपोर्ट किए गए आकार की उपेक्षा करते हैं और स्क्रीन रिज़ॉल्यूशन और DPI के हार्डकोड मान का उपयोग करके आकार की गणना करते हैं (अधिक जानकारी यहाँ )।
एक और तरीका है कि मॉनिटर के आकार का पता कैसे लगाया जाए, इसके EDID को सीधे पढ़ें। read-edidपैकेज स्थापित करें और sudo get-edid | parse-edid | grep DisplaySizeटर्मिनल में कमांड चलाएं । इसका आउटपुट आपको मिलीमीटर में आपके मॉनिटर का वास्तविक आकार देगा। यदि नहीं - शासक का उपयोग करें।

डीपीआई को ठीक करना शुरू करें:

1) 12.04 रन में gksudo gedit, सेक्शन के /etc/lightdm/lightdm.confतहत एक पैरामीटर खोलें और जोड़ें [SeatDefaults]:

xserver-command=X -dpi 90

डिफ़ॉल्ट रूप से 16.04 में ऐसी कोई फ़ाइल नहीं है, इसलिए आपको lightdm.confमैन्युअल रूप से बनाना होगा और इसे डालना होगा /etc/lightdm/lightdm.conf.d/। इस फ़ाइल की सामग्री समान हैं:

[SeatDefaults]
xserver-command=X -dpi 90

अपने कंप्यूटर को पुनरारंभ करें या X को पुनरारंभ करें। अब grep DPI /var/log/Xorg.0.logवांछित सेटिंग दिखाएगा।

2) अपने पूर्व उत्तर में मैंने /etc/X11/Xsession.d/स्ट्रिंग युक्त एक फ़ाइल बनाने का प्रस्ताव दिया xrandr --dpi 90। इसने 12.04 में काम किया, लेकिन 16.04 में यह सेटिंग लगातार नहीं है। नए सिस्टम में हम सत्र प्रारंभ पर वांछित मान जोड़ सकते हैं। "स्टार्टअप एप्लिकेशन" चलाएं, "जोड़ें" बटन दबाएं, इसे "डीपीआई को ठीक करें" नाम दें और xrandr --dpi 90फ़ील्ड में कमांड सेट करें । परिवर्तन सहेजें और पुनः लॉगिन करें। अब xdpyinfo | grep dotsरिपोर्ट देंगे 90x90 dots

यदि xdpyinfoफिर भी 96 दिखाता है तो दौड़ने से पहले एक टाइमआउट जोड़ें xrandr। "स्टार्टअप एप्लिकेशन" में कमांड को संपादित करें और इसे इसमें बदलें:

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

संदर्भ

चरण 2 12.04 के लिए वैकल्पिक है क्योंकि पुराने सिस्टम में चरण 1 दोनों Xorg.0.logऔर xdpyinfoमानों को ठीक करता है ।

3) GNOME3 DPI सेटिंग में 96 में हार्डकोड किया गया है और इसे सीधे नहीं बदला जा सकता है, लेकिन टेक्स्ट को इसके बजाय स्केल किया जा सकता है। वांछित गुणक की गणना करें: desired_DPI / 96(मेरे मामले में 90/96 = 0.9375)। अब कमांड चलाएँ (या dconfयदि आप चाहें तो उपयोग करें ):

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

एक ही बार में परिवर्तन लागू किया जाएगा। xrdb -query | grep dpiवांछित रिपोर्ट करेगा Xft.dpi: 90

PS डीपीआई सेटिंग को ठीक करने के लिए एक और तरीका है जो बहुत अधिक कठिन है और यह इस गाइड में वर्णित है । मैंने इसे भी आजमाया और परिणाम वही हुआ (कम से कम 12.04 में)।

आफ्टरवर्ड: केवल उबंटू डेवलपर्स कुछ के लिए कह सकते हैं कि क्या चरण 1 और 2 द्वारा संशोधित मूल्य वास्तव में आधुनिक उबंटू में मायने रखते हैं या उन्हें चुपचाप नजरअंदाज कर दिया जाता है। केवल चरण 3 उन परिवर्तनों का उत्पादन करता है जो तुरंत ध्यान देने योग्य हैं। वे उपयोगकर्ता जो मानते हैं कि कुछ ऐप्स अभी भी एक्स सर्वर सेटिंग्स पर भरोसा कर सकते हैं, उन्हें ऊपर वर्णित सभी 3 चरणों को करने के लिए प्रोत्साहित किया जाता है। बाकी के लिए चरण 3 पर्याप्त है - यह आधुनिक उबंटू डिस्ट्रोस में अपनाया अनुकूलन का एकमात्र तरीका है।


2
यह एक बहुत ही पूर्ण (पूरी बात का आनंद लिया) नई जानकारी से भरा जवाब है। शुक्रिया। +1
लुइस अल्वारादो

2
उच्च चिह्न के लिए धन्यवाद। मैंने मुद्दे के समाधान के लिए हर जगह खुदाई में कई दिन बिताए हैं और अब इसे हर किसी के साथ साझा करने में खुशी है।
13

1
मूल्यों की गणना करने में आपको थोड़ा समय बचाने के लिए एक स्प्रेडशीट यहां दी गई है: docs.google.com/spreadsheet/…
टॉम करचरे


1
@RaffiKhatchadourian इसमें स्कीमा org.gnome.desktop.interfaceऔर कुंजी scaling-factorहै। डिफ़ॉल्ट मान 1 है और यह केवल पूर्णांक हो सकता है। यह HiDPI डिस्प्ले के लिए है। गैर-पूर्णांक स्केलिंग कारक का उपयोग करने के लिए कुछ विधियाँ मौजूद हैं xrandr। इस लिंक की जाँच करें: wiki.archlinux.org/index.php/HiDPI (यह आर्क नॉलेजबेस है, उबंटू में इसका परीक्षण नहीं किया है)।
बजे

28

14.04 से शुरू होकर हमारे पास एक विकल्प है जो थोड़ा मदद करता है:

स्केलिंग समर्थन

नीचे दी गई छवि में हम देख सकते हैं कि फोंट और शीर्षक पट्टी पर यह 0.75 पर है:

यहाँ छवि विवरण दर्ज करें

नीचे दी गई छवि में हम इसे 1.38 पर फ़ॉन्ट और शीर्षक बार में स्केलिंग देख सकते हैं :

यहाँ छवि विवरण दर्ज करें


3
मेरे लिए उबंटू 14.04 में काम किया (जर्मन: "Anzeigegeräte") मुझे 1.0 में डिफ़ॉल्ट फॉन्ट-स्केलिंग फैक्टर को पुनर्स्थापित करना था (मैंने इसे 2.0 बर्फ़ में सेट किया) और "ऑल सेटिंग्स"> लॉन्चर-आइकन साइज़ को "डैस्टेलुंग" में रीसेल किया ”
rub रूबां

4
क्या केवल लॉन्चर, और कुल DPI सहित मेनू और शीर्षक पट्टियाँ नहीं बदलतीं?
जॉन स्कॉट

1
@ फजी टूथपेस्ट यही कारण है कि मैंने कहा "थोड़ा मदद करता है"। वह बिट वह है, जब आप स्केल को कम करते हैं, तो मेनू बदलने के अलावा, टाइटल बार और लॉन्चर आइकन, विंडोज़ का एक्टूअल आकार, क्योंकि परिवर्तन, छोटा होगा। इसलिए यह थोड़ा मदद करता है यदि आपके पास एक 1280x720 संकल्प (लैपटॉप की तरह) उदाहरण के लिए है और आप उस 720 के अंदर खिड़कियों को फिट करना चाहते हैं। पैमाने को 0.8 या उससे कम करने पर "महसूस" होगा जैसे कि आप 720 के बजाय 1080 का उपयोग कर रहे हैं। बेशक सेब उत्पादों की तरह गैर हाय-डीपीआई के साथ है। मुझे लगता है कि प्रभाव उन प्रकार के हार्डवेयर पर बड़ा होगा।
लुइस अल्वाराडो

हैलो, मेरी टिप्पणी के लिए खेद है; मैं प्रदर्शन सेटिंग को अपने चित्रों पर xserver सत्र के माध्यम से प्रदर्शित करना चाहता हूं: क्या ऐसा करने का कोई तरीका है?

9

जहां तक ​​उबंटू में मेरा अनुभव है, फॉन्ट डीपीआई सेटिंग में बदलाव करने से बहुत अधिक परिवर्तन होता है, जिस तरह से फोंट को गाया जाता है। यह आइकन और उदाहरण के लिए मेनू के आकार पर भी लागू होता है।

यह सिर्फ इतना है कि Xorg डेस्कटॉप पर्यावरण को संकेत देता है कि भौतिक डिस्प्ले की DPI क्या है। और हाँ, आप इसे Xorg.conf में ओवरराइड कर सकते हैं, लेकिन इसका आपके डीई में सेटिंग बदलने के समान प्रभाव पड़ता है। कुबंटु / केडीई में उदाहरण के लिए:

यहाँ छवि विवरण दर्ज करें


3
क्या इस फ़ॉन्ट प्रबंधक का कोई उबंटू (एकता) संस्करण है।
लुइस अल्वाराडो

@LuisAlvarado नहीं, ऐसा प्रतीत होता है कि यह केवल GNOME2 है और केडीई यह पेशकश कर रहा है ... Gnome-tweak-tool यह करने में सक्षम होना चाहिए, लेकिन यह फ़ॉन्ट आकार बदलते समय मेरे 12.10 यूनिटी VM को क्रैश करता है।
gertvdijk

9

2880x1620 स्क्रीन पर इसी तरह की समस्या थी। Http://ubuntuforums.org/showthread.php?t=2106549 डालकर देखें

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

मेरी ~ / .xprofile में

"DP-0" के बजाय, जो कुछ भी डालें

xrandr

आपको डिवाइस का नाम बताता है।

आप निश्चित रूप से पैमाने को ट्वीक कर सकते हैं, लेकिन 0.5 किसी तरह मेरी स्क्रीन पर अच्छा नहीं लग रहा था।


3
यह केवल मैं एक समाधान है, क्योंकि आप वास्तविक संकल्प को ढीला करते हैं। इस स्केलिंग के साथ आपका मॉनिटर केवल स्केल किए गए रिज़ॉल्यूशन में फिर से रेंडर करने के बजाय आधे पिक्सेल को प्रदर्शित करता है
rubo77

1
दुर्भाग्य से माउस स्क्रीन का उपयोग करते समय समान दर पर स्केल नहीं करता है :-( जब आप नीचे स्केलिंग करते हैं तो यह हानिरहित होता है क्योंकि माउस स्क्रीन के बाहर खाली जगह की खोज करता है लेकिन जब अच्छी तरह से प्रदर्शित करने के लिए एक जटिल एप्लिकेशन प्राप्त करने के लिए स्केलिंग करता है। छोटी स्क्रीन पर, माउस स्क्रीन के किनारे तक नहीं पहुंचता है जो उस उपयोग के मामले में अनुपयोगी बनाता है
मार्सबर्ड

7

जबकि ऊपर xserver-command=X -dpi ...और नीचे xrandr --dpi ...दिए गए उबंटू के पुराने संस्करणों में १३.१० (जो कि मेरे पास है) में बहुत अच्छी तरह से काम किया हो सकता है, एकता उन सेटिंग्स को अनदेखा करती है और डीपीआई को ठीक रखती है (जहां तक ​​कि एक्स सर्वर ९ ६ डीपीआई का संबंध है)।

और xrandr --scale ...कमांड स्क्रीन को स्केल के रूप में वर्णित करता है, लेकिन इसे इस तरह से स्केल करता है कि टेक्स्ट और आइकन थोड़ा धुंधला हो जाता है। लेकिन यह काम करता है।

ऐसा प्रतीत होता है कि उबंटू 13.10 में सबसे अच्छा विकल्प एक्स सर्वर के लिए डीपीआई सेटिंग को बदलने की कोशिश नहीं करना हो सकता है, लेकिन इसके बजाय unity-tweak-toolएकता द्वारा उपयोग किए जाने वाले डिफ़ॉल्ट फोंट और डिफ़ॉल्ट फ़ॉन्ट स्केलिंग कारक को बदलने का उपयोग करें । आप unity-tweak-toolउबंटू सॉफ्टवेयर सेंटर से डाउनलोड कर सकते हैं । जब आप खोलते हैंunity-tweak-toolफॉन्ट बटन पर जाएं और फोंट स्केलिंग फैक्टर को बदलकर 1.2 या 1.25 (या अधिक या कम) करने का प्रयास करें ताकि फोंट आपके लिए एक अच्छा आकार प्रदर्शित कर सकें। इस कंट्रोल पैनल पर आप एकता द्वारा उपयोग किए जाने वाले डिफ़ॉल्ट फोंट को भी बदल सकते हैं। माना जाता है कि यह सॉल्यूशन स्क्रीन पर सबकुछ स्केल नहीं करता है, बस टेक्स्ट, लेकिन यह अपने लैपटॉप पर 166 डीपीआई स्क्रीन के साथ वास्तव में अच्छी तरह से काम करता है। ऐसा प्रतीत होता है कि फ़ायरफ़ॉक्स और क्रोमियम जैसे वेब ब्राउज़र इस सेटिंग सेटिंग को नोटिस नहीं करते हैं, लेकिन फ़ायरफ़ॉक्स और क्रोमियम दोनों ही आपको वेब पेज पर फोंट को उसी तरह से स्केल करने के लिए अपनी एप्लिकेशन सेटिंग्स में एक न्यूनतम फ़ॉन्ट आकार सेट करने की अनुमति देते हैं।


अच्छा शोध कार्ल।
लुइस अल्वारादो

5

उबंटू 14.10 में, एक 15 "लैपटॉप, 1920x1080 रिज़ॉल्यूशन (345 मिमी x 145 मिमी) के साथ, 143ppi / डीपीआई घनत्व के साथ, मैंने अनुसरण किया।

/Etc/X11/xorg.conf.d/xorg.conf में, मैंने निम्नलिखित अनुसरण जोड़े:

# 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

यह सिस्टम-वाइड डीपीआई सेटिंग्स को सही 143dpi पर सेट करता है:

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

मैंने उपर्युक्त सभी ट्वीकिंग्स भी किए हैं:

  • सिस्टम सेटिंग्स (एकता पैनल में) -> प्रदर्शित -> मेनू और शीर्षक सलाखों के लिए स्केल: 1.25
  • क्रोमियम में, मैं इसके साथ शुरू करता हूं: क्रोमियम-ब्राउज़र --enable_hidpi = 1
  • फ़ायरफ़ॉक्स में मैंने लगभग: config -> layout.css.devPixelsPerPx: 1.4 सेट किया
  • Atom.io में, मैंने इस मुद्दे पर टिप्पणी की

बहुत ज्यादा मुझे हर एप्लिकेशन को ट्विक करने की आवश्यकता है, मैं उपयोग करने की योजना बना रहा हूं। इसके अलावा ब्राउज़रों में इस ज़ूम में धुंधली छवियां (आइकन, वेबपेज पर बटन आदि) भी होती हैं, क्योंकि यह ज़ूम भी हो जाता है। मैं एक क्लिक या हावभाव के साथ कुछ छवि को 1: 1 और 2: 1 आकार में सेट करना पसंद करूंगा।

उम्मीद है कि यह अक्टूबर 2014 की 9 वीं के रूप में कुछ उपयोगी जानकारी जोड़ता है।


मुझे लगता है कि आप 12. की एक बहु को स्केल करके धुंधलापन को ठीक कर सकते हैं। खुद के मामले में डीपीआई को 144 पर सेट करें
मार्टिन कोंकनी

अपनी पोस्ट में तारीख डालने के लिए +1। मैं कभी-कभी ऐसा करता हूं लेकिन आप मुझे याद दिला रहे हैं कि मुझे इसे अधिक बार करने की आवश्यकता है। (बाकी सभी के लिए संकेत)।
विनयुनुच्स 2 यूनिक्स 20

3

Ubuntu-Tweak http://ubuntu-tweak.com/ स्थापित करें

इसे खोलें और 'Tweaks> फ़ॉन्ट्स' पर जाएं। फिर 'टेक्स्ट स्केलिंग फैक्टर' बदलें

बहुत अच्छा काम करता है। का आनंद लें।


3

आप xrandr के साथ सब कुछ स्केल कर सकते हैं, जो कि शायद आप क्या देख रहे हैं। मुझे यकीन नहीं है कि यह आंतरिक रूप से कैसे काम करता है, लेकिन प्रभाव एक डीपीआई परिवर्तन लगता है।

अपने संकल्प को मापने के लिए, पहले अपने प्रदर्शन का नाम 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)

तो, मेरे मामले में मेरे लैपटॉप डिस्प्ले को LVDS कहा जाता है।

फिर अपने रिज़ॉल्यूशन को स्केल करने के लिए निम्न को चलाएँ:

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

लॉन्चर और पैनल एक पल के लिए गायब हो सकते हैं, लेकिन बस अपने कर्सर को उन पर मंडराते हैं और उन्हें फिर से प्रकट करना चाहिए। आपको किसी भी खुली हुई खिड़कियों का आकार बदलना पड़ सकता है ताकि वे छोटे रिज़ॉल्यूशन में फिट हो सकें।



2

जैसा कि मैंने इस सवाल पर समाप्त किया कि उबंटू ग्नोम में स्केलिंग करने वाली विंडोज़ HiDPI, यहां यादृच्छिक सुझावों के अलावा, ताकि मुझे इसकी आवश्यकता होने पर मिल जाए। :)

इस डायलॉग को एक्सेस करने के लिए, Gnome Tweaks खोलें और विंडोज सेक्शन में जाएँ।

ग्नोम ट्विक्स - विंडोज


0

मैं Zorin8 (Ubuntu13.x पर आधारित) का उपयोग कर रहा हूं।

आप माउस के साथ स्क्रीन को स्केल कर सकते हैं (1024/800 = 1.28, 768/600 = 1.28):

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

या केवल स्क्रीन को पैन करें, ताकि आपको स्क्रीन पर दिखाई न देने वाले भागों को देखने के लिए माउस का उपयोग करना पड़े:

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

-2

आप वास्तव में अपने मॉनिटर के भौतिक ppi को बदल नहीं सकते हैं। वास्तविक ppi वास्तविक हार्डवेयर ppi है, हालाँकि अधिकांश सॉफ़्टवेयर ऐतिहासिक कारणों से 72 dpi का ppi मानेंगे, हालाँकि 96 dpi अब असामान्य नहीं है।

आप मॉनिटर के रिज़ॉल्यूशन को बदल सकते हैं, जो अनुवादित पीपीआई को बदल देता है, और आप फ़ॉन्ट आकार जैसी चीजों को बदल सकते हैं।

यदि आप MyUnity स्थापित करते हैं तो आप फ़ॉन्ट DPI, अन्य चीजों के बीच बदल सकते हैं।

यदि आपके पास एक सच्चा 1024x768 पिक्सेल (रिज़ॉल्यूशन) मॉनिटर था और यह 72dpi सच था, तो यह लगभग 17 "मॉनिटर होगा। यदि आप 72 का फ़ॉन्ट आकार सेट करते हैं तो एक वर्ण 1" उच्च होगा। यदि आप डिस्प्ले को 800x600 रिज़ॉल्यूशन पर सेट करते हैं तो फ़ॉन्ट बड़ा होगा, जबकि 1600x1200 सेट करने से फ़ॉन्ट छोटा दिखाई देगा।


"UseEDIDDpi" और "DPI" जैसे Xorg विकल्पों के बारे में क्या? मैंने पढ़ा है कि उदाहरण के लिए पहले वाला वीडियो कार्ड से EDID को पढ़ने में अक्षम कर सकता है, अगर यह गलत है और DPI से आप DPI को बदल सकते हैं। यही मुझे भ्रमित करता है।
लुइस अल्वारादो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.