حل مشکل تغییر رزولوشن مانیتور در اوبونتو

زمان مطالعه: 4 دقیقه

با نام خدا وسلام، خب مشکل من این بود که وقتی مانیتور رو به لپتاپم وصل می کردم، حداکثر رزولوشنی که برای مانیتور میاورد ۱۰۲۴*۷۶۸ بود، ولی میدونستم که مانیتورم رزولوشن ۱۹۲۰*۱۰۸۰ رو نیز پشتیبانی می کنه و رزولوشن پایین اذیتم می کرد.

اما راه حل،

اول از همه باید WAYLAND را غیر فعال کنیم. برای این کار باید به آدرس زیر رفته و یک خط از این فایل را از comment در بیارید:

/etc/gdm3/custom.conf  

برای تغییرات این فایل داخل ترمینال کافیه دستور زیر رو بزنید :

sudo nano/etc/gdm3/custom.conf

حال دنبال خط زیر بگردید و اون علامت مربع یا شارپ (#) رو پاک کنید.

#WaylandEnable=false 

سیستم رو ریست کنید.

خب همون طور که گفتم من میخواستم رزولوشن رو ۱۹۲۰*۱۰۸۰ کنم برای همین اول دستور زیر رو زدم (با توجه به رزولوشن مورد نظرتون دستور رو تغییر بدید)

cvt 1920 1080 60

تصویر ترمینال:

خب با توجه به تصویر فوق می بینید که خروجی دستور بالا میشه :

# 1920×1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz Modeline “1920x1080_60.00” 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

ما از ” به بعد را نیاز داریم که میشه :

“1920x1080_60.00” 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

حالا باید یه مود جدید با استفاده از xrandr بسازیم، دستور زیر را داخل ترمینال بزنید:

xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync 

 

حال با استفاده  از دسترو زیر می توینم لیست تمامی صفحات نمایش متصل شده به سیستم رو به دست بیاریم:

xrandr --query | grep connected

خروجی دستور بالا چیزی شبیه تصویر زیر میشه:

مانیتور من میشه DP-2 که باهاش کار دارم.دستور زیر را داخل ترمینال می زنیم:

xrandr --addmode DP-2 "1920x1080_60.00"

 

و در انتها دستور زیر دیگه کار تمامه

xrandr --output DP-2 --mode "1920x1080_60.00"

 

و اما یه مشکل دیگه وجود داره و اینه که اگه سیستم را ریست کنیم تمام تغییرات میپره و مجدد باید دستورات بالا رو اجرا کنیم.

راه حل:

اول از همه داخل یه فولدر با دستور زیر یه فایل بسازید به نام fix_resolution:

touch fix_resolution.sh

با توجه به دستوراتی که بالا زدم، داخل فایلی که ساختید، شوید و خطوط زیر را داخلش بنویسید،  (با  استفاده از دستور :   nano fix_resolution.sh)

#!/bin/sh
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 11$
xrandr --addmode DP-2 "1920x1080_60.00"
xrandr --output DP-2 --mode "1920x1080_60.00"

 

تغییر رزولوشن در اوبونتو
تغییر رزولوشن در اوبونتو

 

حال فایلی که د ربالا ساختید رو باید دارای قابلیت اجرا باشد، برای اینکار دستور زیر را در ترمینال بزنید: (اسم فولدر و فایل با توجه به سیستم خودتونه 🙂  )

chmod +x /home/sadegh_khan/fix-resolution.sh

وارد قسمت show application سیستم اوبونتو خود بشید (تصویر زیر) و در قسمت search عبارت startup  رو جستجو کنید و برنامه startup application رو اجرا کنید.

پس از باز شدن برنامه (مانند تصویر زیر)، روی add کلیک کرده و یه اسم انتخاب و همون فایلی که ساختید را نیز برایش browseکنید. و تمام 🙂

ویرایش:

خب امروز ۲۲ اسفند ۹۷ و دو تا نکته دیگه به این مطلب اضافه کردم

اولین نکته برای تعیین موقعیت مانیتور ها نسبت به هم هست، برای این کار از دستور زیر استفاده می کنیم :

xrandr --output DP-2 --pos <x>x<y>

برای مثال دو تا مانیتور داریم که مانیتور a سمت چپ قرار داره و باید اصولا ماوس رو وقتی به سمت راست تصویر مانیتور a که ببریم از مانیتور a خارج و به مانیتور b که سمت راست مانیتور a بوده برویم. حال اگه این اتفاق نمی افتاد و برعکس بود، وقتی به سمت چپ مانیتور a رفتیم وارد مانیتور bبشود، برای حل مشکل از دستور فوق باید استفاده کنیم.

نکته دوم د رمورد انتخاب مانیتور دلخواه شما به عنوان مانیتور rimary می باشد، برای این کار صرفا کافیه از دستور زیر استفاده کنید :

xrandr --output DP-2 --primary

حال اون فایلی که برای تغییرات مانیتور ساخته بودم تا به صورت استارتآپ لینوکس تغییرات اعمال بشه به صورت زیر در اومده :

#!/bin/sh
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync 
xrandr --addmode DP-2 "1920x1080_60.00"
xrandr --output DP-2 --mode "1920x1080_60.00" --pos 0x0 --primary
xrandr --output eDP-1 --pos 1920x0

در انتها به اینجا نیز میتونید یه نگاهی بی اندازید.

همچنین دیگر مطالب در ارتباط با لینوکسدر بلاگ صادق خان را اینجا میتوانید ببینید.