Dizüstü bilgisayarımın monitör boyutunu nasıl alabilirim?


42

Dizüstü bilgisayar monitörü boyutunu bulmak için Ubuntu linux komutu nedir? Mümkünse inç cinsinden bilmek istiyorum.

Teşekkürler


Merhaba kullanıcı111, lütfen şuna bakın: meta.askubuntu.com/q/15051/72216 . En azından biraz geri bildirim verebilir misiniz ?
Jacob Vlijm

Yanıtlar:


46

xrandrKomutu kullanan başka bir seçenek de komuttur:

xrandr | grep ' connected'

Çıktı:

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

(önceki boşluğa dikkat edin connected, başka disconnecteddahil edilecek)

xdpyinfoVe arasındaki önemli farklarxrandr

  • Birlikte xrandr(çoklu monitör durumunda) ayrı ayrı listeler ekranlar, xdpyinfohep birlikte ekranlar için boyutlarının tek dizi verir ( "masaüstü boyutu" yerine, ekran boyutunun)
  • @ Agold tarafından fark edildiği gibi, ikisi arasında bir fark vardır, ki bunlar basit bir yuvarlama farkı olamayacak kadar büyüktür:

    xrandr: 473mm x 296mm
    xdpyinfo: 445x278
    

Bu bağlı gözükmektedir bir hata içinde xdpyinfo. Ayrıca buraya bakınız .

Eğer inç konusunda ısrar edersen

Aşağıdaki küçük betiği kullanın; ekranınızın boyutunu inç olarak verir; genişlik / yükseklik / diyagonal (inç)

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

Kullanmak için:

Komut dosyasını boş bir dosyaya kopyalayın, kaydedin get_dimensions.py, komutuyla çalıştırın:

python3 /path/to/get_dimensions.py

İki ekranımda çıktı:

width - height - diagonal (inches)

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



Düzenle

Aynı betiğin süslü versiyonu (birkaç iyileştirme ve daha iyi bir çıktıyla), şöyle görünüyor:

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

Senaryo:

#!/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 (Mayıs 2019)

İstek üzerine "bir tür" (bir yorumda), modernize edilmiş / daha gelişmiş / gelişmiş (sistem çağrısı yok, ayrıştırma yok, ancak Gdk.Display kullanarak) sürüm, hemen hemen aynı şekilde:

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

Çıktı:

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

Orjinal cevabı bırakacağım, çünkü cevabı çok uzun bir süre sonra var olan oylamaları ortaya çıkarması uygun görünmüyor.


Sadece bir not, ancak her iki cevap da farklı sonuçlar xdpyinfoverir : bana "474x303 milimetre" ve xrandr"473mm x 296mm" verir.
agold

1
@ agold Şimdi bu ilginç. Yuvarlama farkı. Bir başka ilginç şey olduğunu xdpyinfoçıkışları masaüstü (hem ekranları) boyutu değil, ekranın boyutu!
Jacob Vlijm

@ farkolduğu bir yuvarlama farkı için yol çok büyük !! Düzenlemeye bak.
Jacob Vlijm

evet, oldukça büyük, fakat bu programlar bu bilgiyi nasıl alıyor? Monitörden gelen bir meta bilgi mi, yoksa diğer bazı parametrelere dayanarak tahmin ediliyor mu ...?
agold

@ agold Bu bir hata ile ilgili gibi görünüyor xdpyinfo: bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/201491 Rapor oldukça eski olmasına rağmen, sabit görmüyorum. Ayrıca bakınız: bbs.archlinux.org/viewtopic.php?id=204823
Jacob Vlijm

14

Daha genel bir cevap istemeniz durumunda , gordian düğümü kesebilir ve bunun için inek gibi olmayan bir fiziksel cetvel kullanabilirsiniz . Gereğince bu wiki , "bir ekran boyutu genellikle uzunluğuyla açıklanan Diagonal'in ":

görüntü tanımını buraya girin

Yalnızca santimetre görüntüleyen bir cetveliniz varsa , basit dönüşümü kullanabilirsiniz :

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

Cetveliniz 30 santimetre ölçüyorsa , ekranınız 11.811 inç'tir. Ayrıca kullanabilirsiniz google formunun bir sorgu ile 30 cm to in.


Resim kredisi: https://en.wikipedia.org/wiki/File:Display_size_measurements.png


Ubuntu'ya sorun, Yazılım çözümleri için bir sitedir, bu nedenle cevabınız burada biraz konu dışı ... Öte yandan, doğru, iyi yazılmış, çok okunaklı ve eğlenceli! :-) Öyleyse çok oy verildi!
Fabby

1
@ dn-ʞɔɐqɹW: Aslında yanımda bir hataya dayanıyor. "Dizüstü bilgisayarımın monitörünün boyutunu nasıl alabilirim?" Sorusunu okudum ve ilk düşüncem "iyi, bir cetvelle" idi ve tüm soruyu okumadan önce cevabım taş bloktan oyulmuştu.
phresnel

Yan nota olarak, bir inç tam olarak 25,4 mm'ye eşittir.
Paddy Landau,

6

XdpyinfoX sunucusu hakkında bilgi görüntülemek için bir yardımcı programdır. Bir sunucunun yeteneklerini, istemcilerle sunucu arasında iletişimde kullanılan çeşitli parametreler için önceden tanımlanmış değerleri ve mevcut olan farklı ekran ve görsel türlerini incelemek için kullanılır.

Monitör boyutunu alma komutu:

xdpyinfo | grep dimensions

Sonuç

dimensions:    1366x768 pixels (361x203 millimeters)

1
Merhaba Parto, cevabınızı gerçekten +1 beğeniyorum , ancak buraya bakın: bbs.archlinux.org/viewtopic.php?id=204823 ve boyut raporlarında büyük bir fark var . xdpyinfoxrandr
Jacob Vlijm

@Jocob İlginç bir şey - askubuntu.com/questions/378386/…
Parto

1
İyi bir eski fiziksel kalite Metrenin ile ölçülürken, benim ekranın hemen hemen tam olarak çıkış almak xrandrederken, 473mm: xdpyinforaporlara yolu çok kısa ( 445mm). Bu soru daha ilginç görünüyor ve OP sanırım sanırım :)
Jacob Vlijm

0

Bu benim de uğraştığım bir şeydi (kendim için yeni bir monitöre yükseltmek istediğimde ve eski monitörümün hangi boyutta olduğunu bilmek istediğimde), bu yüzden sizin için monitör boyutunu bulan bir kabuk betiği yazdım.

Kullandığım xdpyinfoekran boyutlarını almak için ilk yanıt den ve üzerinde önde inşa etti. Komut esas olarak köşegeni ekran boyutlarından hesaplar, milimetreden inç'e çevirir ve sonucu görüntüler.

Havuz URL'si: https://github.com/abhishekvp/WhatsMyScreenSize

Bu yardımcı olur umarım!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.