web-dev-qa-db-ja.com

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

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

ありがとう

40
user111

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が含まれます)

xdpyinfoxrandrの重要な違い

  • xrandrは画面を個別にリストしますが(複数のモニターの場合)、xdpyinfoはすべての画面に対して1つのディメンションセットをまとめて出力します(画面サイズではなく「デスクトップサイズ」)
  • @agoldが気づいたように、2つの間に(かなり)違いがありますが、これは単純な丸めの違いには大きすぎるようです。

    xrandr: 473mm x 296mm
    xdpyinfo: 445x278
    

xdpyinfoの-​​ バグ に関連しているようです。 here も参照してください。

あなたがインチを主張したいなら

以下の小さなスクリプトを使用してください。画面のサイズをインチ単位で出力します。幅/高さ/対角(インチ)

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



編集

Fancy同じスクリプトのバージョン(いくつかの改善とより良い出力)、次のようになります:

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

既存の投票を生成した長い時間が経過した後、回答を削除することは不適切と思われるため、元の回答を残します。

46
Jacob Vlijm

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

enter image description here

centimeters のみを表示するルーラーがある場合、シンプルな conversion を使用できます。

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

したがって、定規が30センチメートルを測定する場合、画面は11.811インチです。 30 cm to inという形式のクエリで google を使用することもできます。


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

14
phresnel

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

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

xdpyinfo | grep dimensions

結果

dimensions:    1366x768 pixels (361x203 millimeters)
6
Parto