Bagaimana saya bisa mendapatkan ukuran monitor laptop saya?

42

Apa perintah Ubuntu untuk menemukan ukuran monitor laptop? Saya ingin tahu dalam inci jika memungkinkan.

Terima kasih

pengguna111
sumber
Halo pengguna111, silakan lihat ini: meta.askubuntu.com/q/15051/72216 . Bisakah Anda setidaknya memberikan beberapa umpan balik?
Jacob Vlijm

Jawaban:

47

Opsi lain, menggunakan xrandr, adalah perintah:

xrandr | grep ' connected'

Keluaran:

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

(pikiran ruang sebelumnya connected, yang lain disconnectedakan dimasukkan)

Perbedaan penting antara xdpyinfodanxrandr

  • Sementara xrandrdaftar layar secara terpisah (dalam hal beberapa monitor), xdpyinfooutput satu set dimensi untuk semua layar bersama-sama ("ukuran desktop" bukan ukuran layar)
  • Seperti yang diperhatikan oleh @agold ada (cukup) perbedaan antara keduanya, yang tampaknya terlalu besar untuk menjadi perbedaan pembulatan sederhana:

    xrandr: 473mm x 296mm
    xdpyinfo: 445x278
    

Tampaknya terkait dengan bug di xdpyinfo. Lihat juga di sini .

Jika Anda bersikeras inci

Gunakan skrip kecil di bawah ini; ini menghasilkan ukuran layar Anda dalam inci; lebar / tinggi / diagonal (inci)

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

Untuk menggunakannya:

Salin skrip ke file kosong, simpan sebagai get_dimensions.py, jalankan dengan perintah:

python3 /path/to/get_dimensions.py

Output di dua layar saya:

width - height - diagonal (inches)

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



Edit

Versi mewah dari skrip yang sama (dengan beberapa perbaikan dan output yang lebih bagus), terlihat seperti:

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

Naskah:

#!/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 (Mei 2019)

"Jenis" berdasarkan permintaan (dalam komentar), versi yang dimodernisasi / lebih lanjut / ditingkatkan (tidak ada panggilan sistem, tidak diuraikan tetapi menggunakan Gdk.Display), melakukan hampir persis sama:

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

Keluaran:

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

Saya akan meninggalkan jawaban asli, karena sepertinya tidak pantas untuk menghapus jawaban setelah sekian lama, yang menghasilkan suara yang ada.

Yakub Vlijm
sumber
Hanya catatan tambahan, tetapi kedua jawaban memberi saya hasil yang berbeda: xdpyinfoberi saya "474x303 milimeter", dan xrandr"473mm x 296mm".
dulu
1
@ Agold Sekarang itu menarik. Perbedaan pembulatan. Hal lain yang menarik adalah bahwa xdpyinfooutput ukuran desktop (kedua layar), bukan ukuran layar!
Jacob Vlijm
@ Agold perbedaannya terlalu besar untuk perbedaan pembulatan !! Lihat hasil edit saya.
Jacob Vlijm
ya, ini cukup besar, tetapi bagaimana program-program ini mendapatkan informasi ini? Apakah ini informasi meta yang berasal dari monitor, atau diperkirakan berdasarkan beberapa parameter lain ...?
dulu
@agold Tampaknya ini terkait dengan bug di xdpyinfo: bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/201491 Meskipun laporannya cukup lama, saya tidak melihatnya diperbaiki. Lihat juga: bbs.archlinux.org/viewtopic.php?id=204823
Jacob Vlijm
14

Jika Anda menginginkan jawaban yang lebih umum, Anda dapat memotong simpul gordian , dan menggunakan penggaris fisik non-geek untuk itu. Sesuai wiki ini , "ukuran layar biasanya dijelaskan oleh panjang diagonal ":

masukkan deskripsi gambar di sini

Jika Anda memiliki penggaris yang hanya menampilkan sentimeter , Anda dapat menggunakan konversi sederhana :

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

Jadi jika penggaris Anda berukuran 30 sentimeter , layar Anda 11,811 inci. Anda juga dapat menggunakan google dengan kueri formulir 30 cm to in.


Kredit gambar: https://en.wikipedia.org/wiki/File:Display_size_measurements.png

phresnel
sumber
Tanya Ubuntu adalah situs untuk solusi Perangkat Lunak, jadi jawaban Anda sedikit di luar topik di sini ... Di sisi lain, itu benar, ditulis dengan baik, sangat mudah dibaca dan lucu! :-) Jadi terangkat!
Fabby
1
@ dn-ʞɔɐqɹW: Sebenarnya, ini berdasarkan kesalahan di pihak saya. Saya membaca pertanyaan, "Bagaimana saya bisa mendapatkan ukuran monitor laptop saya?", Dan pikiran pertama saya adalah "baik, dengan penggaris", dan sebelum membaca pertanyaan lengkap, saya memiliki jawaban saya yang diukir pada balok batu.
phresnel
Sebagai catatan, satu inci sama persis dengan 25,4 mm.
Paddy Landau
6

Xdpyinfoadalah utilitas untuk menampilkan informasi tentang server X. Ini digunakan untuk memeriksa kemampuan server, nilai yang telah ditentukan untuk berbagai parameter yang digunakan dalam berkomunikasi antara klien dan server, dan berbagai jenis layar dan visual yang tersedia.

Perintah untuk mendapatkan ukuran monitor adalah:

xdpyinfo | grep dimensions

Hasil

dimensions:    1366x768 pixels (361x203 millimeters)
Parto
sumber
1
Hai Parto, saya sangat suka jawaban Anda +1, namun, lihat di sini: bbs.archlinux.org/viewtopic.php?id=204823 ada perbedaan besar dalam xdpyinfolaporan dimensi dan xrandr.
Jacob Vlijm
@Jacob Sesuatu yang menarik - askubuntu.com/questions/378386/…
Parto
1
Ketika mengukur dengan berusia kualitas fisik pita-ukuran yang baik, saya mendapatkan di layar saya cukup banyak persis output dari xrandr: 473mm, sementara xdpyinfolaporan cara terlalu pendek ( 445mm). Pertanyaan ini ternyata lebih menarik daripada dugaan OP, saya kira :)
Jacob Vlijm
0

Ini adalah sesuatu yang saya juga kesulitan (ketika saya ingin meningkatkan ke monitor baru untuk diri saya sendiri dan ingin tahu ukuran monitor saya yang lama), jadi saya menulis skrip shell yang menemukan ukuran monitor untuk Anda.

Saya menggunakan xdpyinfojawaban pertama untuk mendapatkan dimensi layar dan melanjutkannya. Script pada dasarnya menghitung diagonal dari dimensi layar, mengubah dari milimeter ke inci dan menampilkan hasilnya.

URL Repository: https://github.com/abhishekvp/WhatsMyScreenSize

Semoga ini membantu!

Abhishek Potnis
sumber