এটি আমার আগের উত্তরের একটি আপডেট সংস্করণ যা উবুন্টু 12.04 সম্পর্কিত ছিল। 16.04 এ (জেনিয়াল) 2 টির পরিবর্তে সঠিকভাবে ডিপিআই সেট করতে 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)।
১.0.০৪ সালে এই তিনটি কমান্ডের আউটপুটগুলি সামঞ্জস্যপূর্ণ ছিল এবং এটি সমান ছিল such৯ এর সমান।
আসুন আমার মনিটরের জন্য অনুকূল ডিপিআই গণনা করি। স্ক্রিনের আসল আকারটি কমান্ডের সাহায্যে 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। সুতরাং আমার আসল dpi 90 হয়।
সতর্কতা অবলম্বন করুন , কমান্ডের আউটপুটের চেয়ে মাপের ম্যানুয়াল পদ্ধতিটি আরও সঠিক হতে পারে xrandr | grep -w connectedকারণ এক্স সার্ভারের নতুন সংস্করণগুলি EDID দ্বারা রিপোর্ট করা আকারটিকে উপেক্ষা করে এবং স্ক্রিন রেজোলিউশন এবং ডিপিআইয়ের একটি হার্ডকোডযুক্ত মান ব্যবহার করে আকার গণনা করে (আরও তথ্য এখানে )।
মনিটরের আকার কীভাবে খুঁজে পাওয়া যায় তার অন্য পদ্ধতিটি হ'ল সরাসরি এটির 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
আপনার কম্পিউটার পুনরায় আরম্ভ করুন বা এক্স পুনরায় চালু করুন এখন 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 এর জন্য alচ্ছিক কারণ পুরানো সিস্টেমে পদক্ষেপ 1 ধাপ 2 Xorg.0.logএবং xdpyinfoমান উভয় স্থির করে ।
3) জিনোম 3 -তে ডিপিআই সেটিংটি হার্ডকোড হয়েছে 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।
পিএস ডিপিআই সেটিং ঠিক করার জন্য আরও একটি পদ্ধতি রয়েছে যা আরও বেশি কঠিন এবং এটি এই নির্দেশিকায় বর্ণিত হয়েছে । আমি এটিও চেষ্টা করেছিলাম এবং ফলাফলটিও একই (কমপক্ষে 12.04 এ)।
পরবর্তী শব্দ: কেবল উবুন্টু বিকাশকারীরা নির্দিষ্টভাবে বলতে পারেন যে পদক্ষেপ 1 এবং 2 দ্বারা সংশোধিত মানগুলি আধুনিক উবুন্টুতে সত্যই গুরুত্বপূর্ণ বা সেগুলি চুপচাপ উপেক্ষা করা হয় কিনা। কেবলমাত্র পদক্ষেপ 3 তত্ক্ষণাত লক্ষণীয় যে পরিবর্তনগুলি উত্পাদন করে। যে ব্যবহারকারীরা নির্দিষ্ট অ্যাপ্লিকেশনগুলি এখনও এক্স সার্ভার সেটিংসের উপর নির্ভর করতে পারে তাদের উপরের বর্ণিত সমস্ত 3 টি পদক্ষেপ সম্পাদন করতে উত্সাহিত করা হবে consider বাকী পদক্ষেপ 3 যথেষ্ট - এটি আধুনিক উবুন্টু ডিগ্রোজে স্বনির্ধারনের একমাত্র উপায়।