ฉันจะได้ขนาดหน้าจอแล็ปท็อปของฉันได้อย่างไร


42

คำสั่ง Ubuntu linux เพื่อค้นหาขนาดจอภาพของแล็ปท็อปคืออะไร ฉันต้องการทราบเป็นนิ้วถ้าเป็นไปได้

ขอบคุณ


สวัสดี user111 โปรดดูที่: meta.askubuntu.com/q/15051/72216 อย่างน้อยคุณสามารถให้ข้อเสนอแนะบางอย่าง ?
Jacob Vlijm

คำตอบ:


46

ตัวเลือกอื่นที่ใช้xrandrคือคำสั่ง:

xrandr | grep ' connected'

เอาท์พุท:

DVI-I-1 connected primary 1680x1050+0+0 (normal left inverted right x axis y axis) 473mm x 296mm
VGA-1 connected 1280x1024+1680+0 (normal left inverted right x axis y axis) 376mm x 301mm

(ใจพื้นที่ก่อนconnectedอื่นdisconnectedจะถูกรวม)

ความแตกต่างที่สำคัญระหว่างxdpyinfoและxrandr

  • ในขณะที่xrandrแสดงรายการหน้าจอแยกกัน (ในกรณีที่มีจอภาพหลายจอ) xdpyinfoเอาท์พุทขนาดหนึ่งชุดสำหรับหน้าจอทั้งหมดพร้อมกัน ("ขนาดเดสก์ทอป" แทนขนาดหน้าจอ)
  • ดังที่ @agold สังเกตเห็นว่ามีความแตกต่างระหว่าง (ซึ่งค่อนข้างมาก) ซึ่งดูเหมือนว่าใหญ่เกินไปที่จะเป็นความแตกต่างในการปัดเศษแบบง่าย:

    xrandr: 473mm x 296mm
    xdpyinfo: 445x278
    

ดูเหมือนว่าเกี่ยวข้องกับข้อผิดพลาดxdpyinfoใน ดูที่นี่ด้วย

หากคุณยืนยันเป็นนิ้ว

ใช้สคริปต์ขนาดเล็กด้านล่าง มันจะเอาท์พุทขนาดของหน้าจอของคุณเป็นนิ้ว; ความกว้าง / สูง / เส้นทแยงมุม (นิ้ว)

#!/usr/bin/env python3
import subprocess
# change the round factor if you like
r = 1

screens = [l.split()[-3:] for l in subprocess.check_output(
    ["xrandr"]).decode("utf-8").strip().splitlines() if " connected" in l]

for s in screens:
    w = float(s[0].replace("mm", "")); h = float(s[2].replace("mm", "")); d = ((w**2)+(h**2))**(0.5)
    print([round(n/25.4, r) for n in [w, h, d]])

วิธีใช้:

คัดลอกสคริปต์ลงในไฟล์ว่างเปล่าบันทึกเป็นget_dimensions.pyเรียกใช้โดยคำสั่ง:

python3 /path/to/get_dimensions.py

เอาท์พุทบนสองหน้าจอของฉัน:

width - height - diagonal (inches)

[18.6, 11.7, 22.0]
[14.8, 11.9, 19.0]



แก้ไข

เวอร์ชันแฟนซีของสคริปต์เดียวกัน (พร้อมการปรับปรุงเล็กน้อยและเอาต์พุตที่ดีกว่า) ซึ่งมีลักษณะดังนี้:

Screen  width   height  diagonal
--------------------------------
DVI-I-1 18.6    11.7    22.0
VGA-1   14.8    11.9    19.0

สคริปต์:

#!/usr/bin/env python3
import subprocess
# change the round factor if you like
r = 1

screens = [l.split() for l in subprocess.check_output(
    ["xrandr"]).decode("utf-8").strip().splitlines() if " connected" in l]

scr_data = []
for s in screens:
    try:
        scr_data.append((
            s[0],
            float(s[-3].replace("mm", "")),
            float(s[-1].replace("mm", ""))
            ))
    except ValueError:
        pass

print(("\t").join(["Screen", "width", "height", "diagonal\n"+32*"-"]))
for s in scr_data:
    scr = s[0]; w = s[1]/25.4; h = s[2]/25.4; d = ((w**2)+(h**2))**(0.5)
    print(("\t").join([scr]+[str(round(n, 1)) for n in [w, h, d]]))

แก้ไข 2 (พฤษภาคม 2019)

"ชนิดของ" ตามคำขอ (ในความคิดเห็น), รุ่นที่ทันสมัย ​​/ สูงกว่า / ปรับปรุง (ไม่มีการเรียกระบบ, ไม่มีการแยกวิเคราะห์ แต่ใช้รุ่น Gdk.Display), ทำสิ่งเดียวกัน:

#!/usr/bin/env python3
import gi
gi.require_version('Gdk', '3.0')
from gi.repository import Gdk

dsp = Gdk.Display.get_default()
n_mons = dsp.get_n_monitors()

print(("\t").join(["Screen", "width", "height", "diagonal\n"+32*"-"]))

for i in range(n_mons):
    mon = dsp.get_monitor(i)
    mon_name = mon.get_model()
    w = mon.get_width_mm()/25.4
    h = mon.get_height_mm()/25.4
    d = ((w**2)+(h**2))**(0.5)
    print(("\t").join([mon_name]+[str(round(n, 1)) for n in [w, h, d]]))

เอาท์พุท:

Screen  width   height  diagonal
--------------------------------
eDP-1   20.0    11.3    23.0
HDMI-1  18.6    11.7    22.0

ฉันจะทิ้งคำตอบเดิมไว้เนื่องจากดูเหมือนว่าไม่เหมาะสมที่จะลบคำตอบหลังจากนั้นเป็นเวลานานซึ่งทำให้เกิดการลงคะแนนที่มีอยู่


เพียงบันทึกด้านข้าง แต่ทั้งสองคำตอบให้ผลลัพธ์ที่ต่างกัน: xdpyinfoให้ "474x303 มิลลิเมตร" และxrandr"473 มม. x 296 มม."
agold

1
@ โกลด์ตอนนี้น่าสนใจ ความแตกต่างในการปัดเศษ อีกสิ่งที่น่าสนใจคือxdpyinfoผลผลิตเดสก์ทอปขนาด (ทั้งหน้าจอ) ไม่ได้ขนาดของหน้าจอ!
Jacob Vlijm

@ โกลด์ความแตกต่างใหญ่เกินไปสำหรับความแตกต่างในการปัดเศษ !! ดูการแก้ไขของฉัน
Jacob Vlijm

ใช่มันค่อนข้างใหญ่ แต่โปรแกรมเหล่านี้จะรับข้อมูลนี้ได้อย่างไร? เป็นข้อมูลเมตาบางส่วนที่มาจากจอภาพหรือประมาณจากพารามิเตอร์อื่น ๆ ... ?
agold

@agold ดูเหมือนว่าจะเกี่ยวข้องกับบั๊กในxdpyinfo: bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/201491แม้ว่ารายงานจะค่อนข้างเก่า แต่ฉันไม่เห็นมันคงที่ ดูเพิ่มเติมที่: bbs.archlinux.org/viewtopic.php?id=204823
Jacob Vlijm

14

ในกรณีที่คุณต้องการคำตอบทั่วไปมากขึ้นคุณสามารถตัดโบว์ Gordianและใช้ร่างกายที่ไม่ใช่ geeky ผู้ปกครองว่า ตามวิกินี้ขนาด "ของหน้าจอมักจะถูกอธิบายโดยความยาวของเส้นทแยงมุม ":

ป้อนคำอธิบายรูปภาพที่นี่

หากคุณมีไม้บรรทัดที่แสดงเฉพาะเซนติเมตรคุณสามารถใช้การแปลงอย่างง่าย:

1 cm = 0.393701 in
(or 2.54 cm = 1 in)

ดังนั้นหากไม้บรรทัดของคุณมีขนาด30 เซนติเมตรหน้าจอของคุณคือ11.811นิ้ว นอกจากนี้คุณยังสามารถใช้Google30 cm to inด้วยแบบสอบถามของรูปแบบ


เครดิตรูปภาพ: https://en.wikipedia.org/wiki/File:Display_size_measurements.png


ถามอูบุนตูเป็นเว็บไซต์สำหรับโซลูชันซอฟต์แวร์ดังนั้นคำตอบของคุณจึงไม่ได้อยู่ที่นี่ ... ในทางกลับกันมันถูกต้องเขียนได้ดีอ่านง่ายและตลก! :-) โหวตแล้ว!
Fabby

1
@ dn-ʞɔɐqɹW: อันที่จริงมันขึ้นอยู่กับความผิดพลาดในด้านของฉัน ฉันอ่านคำถามว่า "ฉันจะทำให้ขนาดหน้าจอแล็ปท็อปของฉันเป็นอย่างไร" และความคิดแรกของฉันคือ "ดีด้วยไม้บรรทัด" และก่อนที่จะอ่านคำถามทั้งหมด
phresnel

หนึ่งนิ้วมีค่าเท่ากับ 25.4 มม. อย่างแน่นอน
Paddy Landau

6

Xdpyinfoเป็นยูทิลิตี้สำหรับแสดงข้อมูลเกี่ยวกับเซิร์ฟเวอร์ X มันถูกใช้เพื่อตรวจสอบความสามารถของเซิร์ฟเวอร์ค่าที่กำหนดไว้ล่วงหน้าสำหรับพารามิเตอร์ต่างๆที่ใช้ในการสื่อสารระหว่างไคลเอนต์และเซิร์ฟเวอร์และหน้าจอและภาพชนิดต่าง ๆ ที่มีให้

คำสั่งเพื่อรับขนาดจอภาพคือ:

xdpyinfo | grep dimensions

ผลลัพธ์

dimensions:    1366x768 pixels (361x203 millimeters)

1
สวัสดี Parto ผมชอบคำตอบที่ 1 ของคุณ แต่ดูที่นี่: bbs.archlinux.org/viewtopic.php?id=204823มีขนาดใหญ่ความแตกต่างในมิติรายงานและxdpyinfo xrandr
Jacob Vlijm

@Jacob บางสิ่งบางอย่างที่น่าสนใจ - askubuntu.com/questions/378386/…
Parto

1
เมื่อวัดกับเก่าที่มีคุณภาพทางกายภาพเทปวัดที่ดีที่ฉันได้รับบนหน้าจอของฉันสวยมากว่าการส่งออกของxrandr: 473mm ขณะที่xdpyinfoรายงานทางสั้นเกินไป ( 445mm) คำถามนี้จะออกมาเป็นที่น่าสนใจมากขึ้น OP แล้วสันนิษฐานว่าฉันเดา :)
จาค็อบ Vlijm

0

นี่เป็นสิ่งที่ฉันก็ต้องดิ้นรนด้วย (เมื่อฉันต้องการอัพเกรดเป็นจอภาพใหม่สำหรับตัวเองและต้องการทราบว่าจอภาพเก่าของฉันมีขนาดเท่าไหร่) ดังนั้นฉันจึงเขียนเชลล์สคริปต์ที่ค้นหาขนาดจอภาพของคุณ

ฉันใช้xdpyinfoจากคำตอบแรกเพื่อรับขนาดหน้าจอและสร้างไว้ข้างหน้า สคริปต์จะคำนวณแนวทแยงมุมจากขนาดหน้าจอโดยแปลงจากมิลลิเมตรเป็นนิ้วและแสดงผลลัพธ์

URL ที่เก็บ: https://github.com/abhishekvp/WhatsMyScreenSize

หวังว่านี่จะช่วยได้!

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