ラップトップのモニターサイズを取得するにはどうすればよいですか?


42

ノートパソコンのモニターサイズを見つけるためのUbuntu linuxコマンドとは何ですか?可能であればインチ単位で知りたい。

ありがとう


:user111こんにちは、これを参照してくださいmeta.askubuntu.com/q/15051/72216を。あなたは、少なくとも提供することができ、いくつかのフィードバックを?
ジェイコブVlijm

回答:


47

を使用する別のオプション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

(スペースの前connecteddisconnected注意してください、それ以外の場合は含まれます)

重要な相違点xdpyinfoxrandr

  • しながらxrandr(複数のモニタの場合)別々のリスト画面は、xdpyinfo一緒にすべての画面の大きさの単一の組を出力する(「デスクトップサイズ」の代わりに画面サイズの)
  • @agoldが気づいたように、2つの間にかなりの違いがありますが、これは単純な丸めの違いには大きすぎるようです。

    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

2つの画面に出力します。

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年5月)

リクエストに応じて「コメントの種類」、近代化された/より高度な/改善された(システムコールなし、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「473mm x 296mm」を与えます。
-agold

1
@agoldこれは興味深いですね。丸めの違い。もう1つの興味深い点は、画面のサイズではなくデスクトップのサイズ(両方の画面)をxdpyinfo出力することです!
ジェイコブVlijm

@agold差は丸めの差には大きすぎます!! 編集をご覧ください。
ジェイコブVlijm

はい、それは非常に大きいですが、これらのプログラムはどのようにしてこの情報を取得しますか?モニターからのメタ情報なのか、それとも他のパラメーターに基づいて推定されるのか...?
-agold

@agoldバグに関連しているようですxdpyinfobugs.launchpad.net/ubuntu/+source/xorg-server/+bug/201491レポートはかなり古いですが、修正されていないようです。参照:bbs.archlinux.org/viewtopic.php?id
ジェイコブヴィリム

14

より一般的な答えが必要な場合に備えて、ゴーディアンノットをカットし、そのためにオタクでない物理的ルーラーを使用できます。このウィキ、「画面の大きさは、通常、その長さによって記述される対角」:

ここに画像の説明を入力してください

センチメートルのみを表示するルーラーがある場合、単純な変換を使用できます。

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

ルーラーのサイズが30センチメートルの場合、画面は11.811インチです。フォームのクエリでgoogleを使用することもできます30 cm to in


画像クレジット:https : //en.wikipedia.org/wiki/File : Display_size_measurements.png


Ubuntuはソフトウェアソリューションのサイトですので、あなたの答えはここから少し外れています...一方、それは正しい、よく書かれた、非常に読みやすくて面白いです! :-) とても賛成です!
ファビー

1
@dn-ʞɔɐqɹW:実際、それは私の側の間違いに基づいています。「ラップトップのモニターサイズを取得するにはどうすればよいですか?」という質問を読み、最初に考えたのは「定規を使って」というものでした。
フレネル

補足として、1インチは正確に25.4 mmに相当します。
水田ランダウ

6

XdpyinfoXサーバーに関する情報を表示するためのユーティリティです。サーバーの機能、クライアントとサーバー間の通信に使用されるさまざまなパラメーターの事前定義値、および使用可能なさまざまなタイプの画面とビジュアルを調べるために使用されます。

モニターサイズを取得するコマンドは次のとおりです。

xdpyinfo | grep dimensions

結果

dimensions:    1366x768 pixels (361x203 millimeters)

1
こんにちはPartoは、私は本当にあなたの答え1のように、しかし、ここを見て:bbs.archlinux.org/viewtopic.php?id=204823あり、巨大な寸法の違いxdpyinfoレポートとはxrandr
ジェイコブVlijm

@Jacob何かが面白い- askubuntu.com/questions/378386/...
Parto

1
古き良き物理的な品質のテープメジャーで測定するとき、私はかなり正確に私の画面上の出力を得るxrandr一方で、473ミリメートルを:xdpyinfoレポートのが短すぎます(445mm)。この質問は、OPが私が推測したものと仮定した場合よりも興味深いことが判明しました:)
ジェイコブVlijm

0

これも私が苦労していたことです(自分で新しいモニターにアップグレードしたいとき、私の古いモニターのサイズを知りたいとき)、私はあなたのためにモニターサイズを見つけるシェルスクリプトを書きました。

xdpyinfoは最初の答えからスクリーンの寸法を取得するために使用し、それに基づいて作り上げました。このスクリプトは基本的に、画面の寸法から対角線を計算し、ミリメートルからインチに変換して結果を表示します。

リポジトリURL:https : //github.com/abhishekvp/WhatsMyScreenSize

お役に立てれば!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.