回答:
を使用する別のオプション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
注意してください、それ以外の場合は含まれます)
xdpyinfo
とxrandr
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]]))
リクエストに応じて「コメントの種類」、近代化された/より高度な/改善された(システムコールなし、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」を与えます。
xdpyinfo
出力することです!
xdpyinfo
:bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/201491レポートはかなり古いですが、修正されていないようです。参照:bbs.archlinux.org/viewtopic.php?id
より一般的な答えが必要な場合に備えて、ゴーディアンノットをカットし、そのためにオタクでない物理的ルーラーを使用できます。このウィキ、「画面の大きさは、通常、その長さによって記述される対角」:
センチメートルのみを表示するルーラーがある場合、単純な変換を使用できます。
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
Xdpyinfo
Xサーバーに関する情報を表示するためのユーティリティです。サーバーの機能、クライアントとサーバー間の通信に使用されるさまざまなパラメーターの事前定義値、および使用可能なさまざまなタイプの画面とビジュアルを調べるために使用されます。
モニターサイズを取得するコマンドは次のとおりです。
xdpyinfo | grep dimensions
結果
dimensions: 1366x768 pixels (361x203 millimeters)
xdpyinfo
レポートとはxrandr
。
xrandr
一方で、473ミリメートルを:xdpyinfo
レポートの道が短すぎます(445mm
)。この質問は、OPが私が推測したものと仮定した場合よりも興味深いことが判明しました:)
これも私が苦労していたことです(自分で新しいモニターにアップグレードしたいとき、私の古いモニターのサイズを知りたいとき)、私はあなたのためにモニターサイズを見つけるシェルスクリプトを書きました。
私xdpyinfo
は最初の答えからスクリーンの寸法を取得するために使用し、それに基づいて作り上げました。このスクリプトは基本的に、画面の寸法から対角線を計算し、ミリメートルからインチに変換して結果を表示します。
リポジトリURL:https : //github.com/abhishekvp/WhatsMyScreenSize
お役に立てれば!