Làm thế nào tôi có thể có được kích thước màn hình máy tính xách tay của tôi?


42

Lệnh Ubuntu linux để tìm kích thước màn hình máy tính xách tay là gì? Tôi muốn biết bằng inch nếu có thể.

Cảm ơn


Xin chào người dùng 111, vui lòng xem phần này: meta.askubfox.com/q/15051/72216 . Bạn ít nhất có thể cung cấp một số thông tin phản hồi?
Jacob Vlijm

Câu trả lời:


46

Một tùy chọn khác, sử dụng xrandr, là lệnh:

xrandr | grep ' connected'

Đầu ra:

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

(nhớ không gian trước connected, disconnectedsẽ được bao gồm)

Sự khác biệt quan trọng giữa xdpyinfoxrandr

  • Trong khi xrandrliệt kê các màn hình riêng biệt (trong trường hợp có nhiều màn hình), hãy xdpyinfoxuất một bộ kích thước duy nhất cho tất cả các màn hình cùng nhau ("kích thước màn hình" thay vì kích thước màn hình)
  • Như @agold nhận thấy, có (một) sự khác biệt giữa hai thứ, dường như quá lớn để trở thành một sự khác biệt làm tròn đơn giản:

    xrandr: 473mm x 296mm
    xdpyinfo: 445x278
    

Có vẻ như liên quan đến một lỗi trong xdpyinfo. Xem thêm tại đây .

Nếu bạn nhấn mạnh vào inch

Sử dụng tập lệnh nhỏ bên dưới; nó xuất ra kích thước màn hình của bạn tính bằng inch; chiều rộng / chiều cao / đường chéo (inch)

#!/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]])

Để dùng nó:

Sao chép tập lệnh vào một tập tin trống, lưu nó dưới dạng get_dimensions.py, chạy nó bằng lệnh:

python3 /path/to/get_dimensions.py

Đầu ra trên hai màn hình của tôi:

width - height - diagonal (inches)

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



Biên tập

Phiên bản ưa thích của cùng một kịch bản (với một vài cải tiến và đầu ra đẹp hơn), trông giống như:

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

Kịch bản:

#!/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]]))

EDIT 2 (tháng 5 năm 2019)

"Loại" theo yêu cầu (trong một bình luận), một phiên bản hiện đại hóa / nâng cao / cải tiến hơn (không gọi hệ thống, không phân tích cú pháp nhưng sử dụng phiên bản Gdk.Display), thực hiện khá giống nhau:

#!/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]]))

Đầu ra:

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

Tôi sẽ để lại câu trả lời ban đầu, vì có vẻ không phù hợp để xóa câu trả lời sau một thời gian dài như vậy, điều đó đã tạo ra số phiếu hiện có.


Chỉ là một ghi chú bên lề, nhưng cả hai câu trả lời đều cho tôi kết quả khác nhau: xdpyinfocho tôi "474x303 milimét" và xrandr"473mm x 296mm".
agold

1
@agold Bây giờ thì thú vị. Một sự khác biệt làm tròn. Một điều thú vị là xdpyinfokết quả đầu ra của máy tính để bàn kích thước (cả hai màn hình), chứ không phải kích thước của màn hình!
Jacob Vlijm

@agold sự khác biệt là quá lớn cho một sự khác biệt làm tròn !! Xem chỉnh sửa của tôi.
Jacob Vlijm

Vâng, nó khá lớn, nhưng làm thế nào để các chương trình này có được thông tin này? Đây có phải là một số thông tin meta đến từ màn hình, hay nó được ước tính dựa trên một số thông số khác ...?
agold

@agold Dường như có liên quan đến một lỗi trong xdpyinfo: bug.launchpad.net/ubfox/+source/xorg-server/+orms/201491 Mặc dù báo cáo khá cũ nhưng tôi không thấy nó được sửa. Xem thêm: bbs.archlinux.org/viewtopic.php?id=204823
Jacob Vlijm

14

Chỉ trong trường hợp bạn muốn có một câu trả lời tổng quát hơn, bạn có thể cắt nút thắt và sử dụng thước đo vật lý không táo bạo cho điều đó. Theo wiki này , "kích thước của màn hình thường được mô tả bằng chiều dài đường chéo của nó ":

nhập mô tả hình ảnh ở đây

Nếu bạn có một thước đo chỉ hiển thị centimet , bạn có thể sử dụng chuyển đổi đơn giản :

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

Vì vậy, nếu thước của bạn đo 30 cm , màn hình của bạn là 11.811 inch. Bạn cũng có thể sử dụng google với một truy vấn của biểu mẫu 30 cm to in.


Tín dụng hình ảnh: https://en.wikipedia.org/wiki/File:Display_size_measurements.png


Hỏi Ubuntu là một trang web dành cho các giải pháp Phần mềm, vì vậy câu trả lời của bạn hơi lạc đề ở đây ... Mặt khác, nó chính xác, được viết tốt, rất dễ đọc và hài hước! :-) Vì vậy, nâng cao!
Fabby 22/2/2016

1
@ dn-qɹW: Thật ra, nó dựa trên một sai lầm về phía tôi. Tôi đọc câu hỏi, "Làm thế nào tôi có thể có kích thước màn hình máy tính xách tay của mình?", Và suy nghĩ đầu tiên của tôi là "tốt, với một người cai trị", và trước khi đọc câu hỏi hoàn chỉnh, tôi đã trả lời câu hỏi của tôi về khối đá.
phresnel

Là một lưu ý phụ, một inch chính xác bằng 25,4 mm.
Paddy Landau

6

Xdpyinfolà một tiện ích để hiển thị thông tin về máy chủ X. Nó được sử dụng để kiểm tra khả năng của một máy chủ, các giá trị được xác định trước cho các tham số khác nhau được sử dụng trong giao tiếp giữa máy khách và máy chủ, và các loại màn hình và hình ảnh khác nhau có sẵn.

Lệnh để có được kích thước màn hình là:

xdpyinfo | grep dimensions

Kết quả

dimensions:    1366x768 pixels (361x203 millimeters)

1
Xin chào Parto, tôi thực sự thích câu trả lời của bạn +1, tuy nhiên, hãy xem tại đây: bbs.archlinux.org/viewtopic.php?id=204823 có một sự khác biệt rất lớn trong các xdpyinfobáo cáo kích thước và xrandr.
Jacob Vlijm

@Jacob Một cái gì đó thú vị - Askubfox.com/questions/378386/ mẹo
Parto

1
Khi đo với một cũ chất lượng vật lý băng-biện pháp tốt, tôi nhận được trên màn hình của tôi khá nhiều chính xác đầu ra của xrandr: 473mm, trong khi xdpyinfobáo cáo cách quá ngắn ( 445mm). Câu hỏi này hóa ra thú vị hơn thì OP giả sử tôi đoán :)
Jacob Vlijm

0

Đây là điều mà tôi cũng đang phải vật lộn (khi tôi muốn tự nâng cấp lên một màn hình mới và muốn biết kích thước màn hình cũ của tôi là bao nhiêu), vì vậy tôi đã viết một kịch bản shell tìm kích thước màn hình cho bạn.

Tôi đã sử dụng xdpyinfotừ câu trả lời đầu tiên để có được kích thước màn hình và được xây dựng trước nó. Kịch bản về cơ bản tính toán đường chéo từ kích thước màn hình, chuyển đổi từ milimet sang inch và hiển thị kết quả.

URL kho lưu trữ: https://github.com/abhishekvp/WhatsMyScreenSize

Hi vọng điêu nay co ich!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.