ฉันจะรับความละเอียดของจอภาพโดยใช้บรรทัดคำสั่งได้อย่างไร


50

ฉันต้องการค้นหาวอลเปเปอร์ที่เหมาะสมกับความละเอียดของฉันมากที่สุด ฉันจะรับความละเอียดโดยการเขียนคำสั่งในบรรทัดคำสั่งได้อย่างไร

คำตอบ:


71

นำมาจากคำตอบนี้ :

xdpyinfo | grep dimensions

หรือรับความละเอียดเพียง:

xdpyinfo | awk '/dimensions/{print $2}'

หรือ

xdpyinfo  | grep -oP 'dimensions:\s+\K\S+'

8
มันใช้งานได้กับการติดตั้งจอเดียว แต่ด้วยจอภาพสองจอมันรวมทั้งสองมิติสำหรับฉันสองหน้าจอของฉันกลับมา:3520x1200 pixels
Sylvain Pineau

3
จุดดี. ในทางกลับกันสิ่งนี้ยังคงมีประโยชน์หากเขากำลังค้นหาภาพพื้นหลังเดียวที่จะครอบคลุมทั่วจอภาพ
aguslr

แน่นอนว่าคุณเป็นคน +1;)
Sylvain Pineau

@aguslr จุดประสงค์นั้นคืออะไร? มีจอภาพขนาด 2000x1000 สองตัวสิ่งที่ใช้จะเป็นภาพพื้นหลังขนาด 4000x2000?
Jos

1
@Jos ฉันเข้าใจแล้วว่าคำสั่งนี้จะคืนค่า 4000x1000 นั่นคือมันทำให้จอภาพทั้งสองอยู่ติดกัน ตัวอย่างเช่น Sylvain มีจอภาพสองจอ (1600x900 และ 1920x1200) และเขาจะได้รับ 3520x1200
aguslr

30

ฉันแค่จะใช้xrandr:

$ xrandr 
Screen 0: minimum 320 x 200, current 3520 x 1200, maximum 32767 x 32767
LVDS1 connected 1600x900+1920+0 (normal left inverted right x axis y axis) 310mm x 174mm
   1600x900       60.0*+
   1440x900       59.9  
   1360x768       59.8     60.0  
   1152x864       60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200      60.0*+
   1920x1080      60.0     50.0     59.9     24.0     24.0  
   1920x1080i     60.1     50.0     60.0  
   1600x1200      60.0  
   1280x1024      75.0     60.0  
   1152x864       75.0  
   1280x720       60.0     50.0     59.9  
   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   720x576        50.0  
   720x480        60.0     59.9  
   640x480        75.0     60.0     59.9  
   720x400        70.1  
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

ที่นี่ฉันมีสองหน้าจอความละเอียดคือ:

  • 1600x900 (แล็ปท็อป)
  • 1920x1200 (จอภาพ)

ในการรับความละเอียดของจอภาพหลักของคุณคุณสามารถใช้ python oneliner นี้ได้:

$ python3 -c 'from gi.repository import Gdk; screen=Gdk.Screen.get_default(); \
geo = screen.get_monitor_geometry(screen.get_primary_monitor()); \
print(geo.width, "x", geo.height)'
1920 x 1200

วิธีรับความละเอียดของเดสก์ท็อปที่ขยายของคุณ (สำหรับการตั้งค่าหลายจอภาพ):

$ python3 -c 'from gi.repository import Gdk; screen=Gdk.Screen.get_default(); \
print(screen.get_width(), "x", screen.get_height())'
3520 x 1200

xrandr + vesa = ไม่มีผู้ทำงาน
Joshua

เพียงความละเอียดของหน้าจอที่ใช้งานอยู่:xrandr | grep " connected\|\*"
Pablo A

10

การร้องขอสำหรับความละเอียด ที่ได้รับจาก

xdpyinfo | grep resolution

4
โดยทั่วไปแล้วคนใช้ความละเอียดเพื่อหมายถึงมิติ DPI ไม่ใช่เรื่องที่น่ากังวลเท่ามิติ
muru

3

คุณยังสามารถใช้:

 xrandr | grep ' connected'

ตัวอย่างผลลัพธ์จากหนึ่งในเครื่องของฉัน:

LVDS connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm

1

สำหรับสิ่งที่คุ้มค่าเมื่อใช้การเชื่อมต่อหลายหน้าจอและ / หรือชดเชยด้วย TwinView xdpyinfo จะให้ความละเอียดของการแสดงผลทั้งชุดตามวิธีการกำหนดค่า หากคุณต้องการความละเอียดของจอภาพเดียวหรือจอภาพที่เชื่อมต่อกับหนึ่งในพอร์ตการแสดงผลที่คุณต้องใช้ xrandr อย่างไรก็ตามแม้ในการกำหนดค่า xrandr นั้นอาจไม่น่าเชื่อถือและไม่แสดงความละเอียด ดูรายการตัวอย่างนี้จากไฟล์กำหนดค่า X windows ของฉัน:

Option "MetaModes" "DP-1: 1440x900 +0+0, DP-3: 1440x900 +1568+0, DP-5: 1440x900 +3136+0"

เอาต์พุต xrandr มีลักษณะดังนี้:

DVI-D-0 disconnected primary (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 410mm x 256mm
   1440x900      59.89*+
   1280x1024     60.02
   1280x960      60.00
   1280x800      59.81
   1280x720      60.00
   1152x864      75.00
   1024x768      70.07    60.00
   800x600       75.00    60.32    56.25
   640x480       75.00    72.81    59.94
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 connected (normal left inverted right x axis y axis)
   1440x900      59.89 +  74.98
   1280x1024     60.02
   1280x960      60.00
   1280x800      59.81
   1280x720      60.00
   1152x864      75.00
   1024x768      70.07    60.00
   800x600       75.00    60.32    56.25
   640x480       75.00    72.81    59.94
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 connected 1440x900+1568+0 (normal left inverted right x axis y axis) 410mm x 256mm
   1440x900      59.89*+
   1280x1024     60.02
   1280x960      60.00
   1280x800      59.81
   1280x720      60.00
   1152x864      75.00
   1024x768      70.07    60.00
   800x600       75.00    60.32    56.25
   640x480       75.00    72.81    59.94

คุณจะเห็นว่า DP-3 ไม่แสดงความละเอียดในบรรทัดที่ grep สำหรับ "เชื่อมต่อ" จะแสดงขึ้น ดังนั้นคำสั่งที่ดีที่สุดสอดคล้องและเชื่อถือได้ที่สุดที่ฉันได้พบเพื่อระบุความละเอียดของจอแสดงผลที่เชื่อมต่อแต่ละจอคือ:

/usr/bin/xrandr --query|/usr/bin/grep -A 1 connected|grep -v connected

ซึ่งผลิตสิ่งนี้:

   1440x900      59.89*+
--
   1440x900      59.89*+  74.98
--
   1440x900      59.89*+

ณ จุดนี้มันค่อนข้างง่ายที่จะเลือกความละเอียดหรือ grep ที่แตกต่างกันสำหรับพอร์ตเดียวเท่านั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.