यह मेरे पिछले उत्तर का एक अद्यतन संस्करण है जो उबंटू 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 पर्याप्त है - यह आधुनिक उबंटू डिस्ट्रोस में अपनाया अनुकूलन का एकमात्र तरीका है।