การตั้งค่า resulution หน้าจอใน linux

ปกติ linux สมัยใหม่มีเครื่องมือช่วยจัดการหน้าจอที่เป็นกราฟิกให้อยู่แล้วแต่บางทีก็มีปัญหาเช่น เวลาเอาจอภายนอกมาต่อกับ notebook แล้วปรากฏว่าไม่มีขนาด resolution ที่เหมาะสมให้เลือกทำอย่างไรดี

1.ดูชื่อ Output
-------------
ก่อนอื่นเปิด terminal ขึ้นมาดูรายชื่อจอที่ต่ออยู่ก่อนโดยพิมพ์คำสั่งดังนี้ (ไม่ต้องมี $ ขึ้นต้นนะ)
$ xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/"

จะมีรายชื่อ outputs ที่ต่อกับเครื่องมาเช่น
VGA-0
LVDS

2.เพิ่มโหมดใหม่
-------------
เพิ่ม resolution ใหม่โดยใช้คำสั่ง cvt มีรูปแบบดังนี้
cvt [-v|--verbose] [-r|--reduced] X Y [refresh]

เช่น เพิ่มโหมด 1600x900 75 (ค่า X=1600, Y=900, refresh rate=75)
ตัวอย่าง

$ cvt 1600 900 75

จะได้ประมาณนี้ (ค่าที่ได้อาจไม่ตรงขึ้นอยู่กับแต่ละเครื่อง)
# 1600x900 74.89 Hz (CVT 1.44M9) hsync: 70.55 kHz; pclk: 151.25 MHz
Modeline "1600x900_75.00"  151.25  1600 1704 1872 2144  900 903 908 942 -hsync +vsync


เอาบรรทัดสุดท้ายมาเพิ่มรายการโหมดใหม่ดังนี้
$ sudo xrandr --newmode "1600x900_75.00"  151.25  1600 1704 1872 2144  900 903 908 942 -hsync +vsync

จากนั้นก็เพิ่มโหมดใน output ที่เราต้องการเช่น output ของจอที่ต่อเป็น VGA-0
$ sudo xrandr --addmode VGA-0 1600x900_75.00
ตอนนี้ถ้าเราใช้ xrandr -q ก็จะเจอโหมดใหม่ขึ้นมาในรายการของ VGA-0 ซึ่งเราสามารถเปลี่ยนไปใช้โหมดนั้นได้ด้วยคำสั่ง
$ xrandr --output VGA-0 --mode "1600x900_75.00"

หรือจะไปเปลี่ยนใน setting tools ของโปรแกรมจัดการหน้าจอก็ได้

แต่!! ยังไม่จบ
--------------
เมื่อครู่เป็นแค่การตั้งค่าชั่วคราวพอรีสตาร์ทเครื่องก็จะกลับมาเหมือนเดิม ถ้าจะทำให้มีรายการถาวรต้องเอาคำสั่ง "เพิ่มรายการโหมด" และ "เพิ่มโหมดใน output นั้น" ไปใส่ไว้ในไฟล์ .xprofile
ไฟล์นี้อยู่ที่ไหนทำไมหาไม่เจอ ไฟล์ของ linux ที่ขึ้นต้นด้วย . เป็นไฟล์ที่ซ่อนอยู่ครับปกติจะมองไม่เห็นส่วนไฟล์ .xprofile จะอยู่ที่ home/user directory คือต้นทางของ user ที่เราใช้อยู่
  1. ถ้าใช้ terminal ให้พิมพ์ cd ~ ก็จะไปที่ home สัญลักษณ์ prompt ก็จะประมาณ user@computer:~$ จากนั้นก็ใช้ editor อะไรก็ได้ที่ถนัดเช่น
    vim .xprofile หรือ nano .xprofile หรือ kete .xprofile เป็นต้นแล้วเข้าไปแก้ไขได้เลยถ้ามีไฟล์นั้นก็จะไปเปิดมาแก้ไขถ้าไม่มีก็จะสร้างใหม่
  2. หรือถ้าไม่ถนัด terminal จะเปิด editor ที่ชอบจากเมนูก็ได้แล้วสั่งเปิดไฟล์ถ้าเป็น text-based editor ก็พิมพ์ชื่อพาธชื่อไฟล์ได้เลยเช่น ~/.xprofile แต่ถ้าเปิด open file dialog ให้เปิด option ให้ show hidden files หรือกด Alt. ( Alt กับจุด ) แล้วเลือกไฟล์ถ้าไม่มีก็ให้สร้างใหม่ตอน save ก็ตั้งชื่อเป็น .xprofile
  3. หรือจะเปิดไฟล์จาก file manager ก็ได้โดยให้แสดง hidden files หรือกด Alt. แล้วเลือกไฟล์ .xprofile
จากนั้นก็พิมคำสั่งข้างต้นเพิ่มเข้าไป
xrandr --newmode "1600x900_75.00"  151.25  1600 1704 1872 2144  900 903 908 942 -hsync +vsync
xrandr --addmode VGA-0 1600x900_75.00

ส่วนคำสั่งเปลี่ยนโหมด xrandr --output VGA-0 --mode "1600x900_75.00" จะใส่หรือไม่ก็ได้ถ้าไม่ใส่ก็ไปเลือกโหมดที่โปรแกรม setting อีกที
จบแล้วครับง่ายไหม

Credit: https://askubuntu.com/questions/281509/how-do-i-change-the-screen-resolution-using-ubuntu-command-line/398740

ความคิดเห็น