Wie kann ich die Bildschirmauflösung über die Befehlszeile ermitteln?


Antworten:


71

Aus dieser Antwort entnommen :

xdpyinfo | grep dimensions

Oder um nur die Auflösung zu bekommen:

xdpyinfo | awk '/dimensions/{print $2}'

ODER

xdpyinfo  | grep -oP 'dimensions:\s+\K\S+'

8
Es funktioniert für ein einzelnes Monitor-Setup, aber mit zwei Monitoren summiert es beide Dimensionen. Für mich ergeben sich zwei Bildschirme:3520x1200 pixels
Sylvain Pineau

3
Guter Punkt. Auf der anderen Seite ist dies immer noch nützlich, wenn er nach einem einzigen Hintergrundbild sucht, das über alle Monitore verteilt wird.
August

In der Tat hast du Recht, +1;)
Sylvain Pineau

@aguslr Was wäre der Sinn davon? Was nützt ein 4000x2000-Hintergrundbild mit zwei 2000x1000-Monitoren?
Jos

1
@Jos, ich verstehe, dass dieser Befehl 4000x1000 zurückgeben würde, das heißt, es werden beide Monitore nebeneinander platziert. Zum Beispiel hat Sylvain zwei Monitore (1600x900 und 1920x1200) und er bekommt 3520x1200.
August

30

Ich würde nur verwenden xrandr:

$ xrandr 
Screen 0: minimum 320 x 200, current 3520 x 1200, maximum 32767 x 32767
LVDS1 connected 1600x900+1920+0 (normal left inverted right x axis y axis) 310mm x 174mm
   1600x900       60.0*+
   1440x900       59.9  
   1360x768       59.8     60.0  
   1152x864       60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200      60.0*+
   1920x1080      60.0     50.0     59.9     24.0     24.0  
   1920x1080i     60.1     50.0     60.0  
   1600x1200      60.0  
   1280x1024      75.0     60.0  
   1152x864       75.0  
   1280x720       60.0     50.0     59.9  
   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   720x576        50.0  
   720x480        60.0     59.9  
   640x480        75.0     60.0     59.9  
   720x400        70.1  
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

Hier habe ich zwei Bildschirme, die Auflösung sind:

  • 1600 x 900 (Laptop)
  • 1920 x 1200 (Monitor)

Um nur die Auflösung Ihres primären Monitors zu erhalten, können Sie auch diesen Python-Oneliner verwenden:

$ python3 -c 'from gi.repository import Gdk; screen=Gdk.Screen.get_default(); \
geo = screen.get_monitor_geometry(screen.get_primary_monitor()); \
print(geo.width, "x", geo.height)'
1920 x 1200

So ermitteln Sie die Auflösung Ihres erweiterten Desktops (für ein Multi-Monitor-Setup):

$ python3 -c 'from gi.repository import Gdk; screen=Gdk.Screen.get_default(); \
print(screen.get_width(), "x", screen.get_height())'
3520 x 1200

xrandr + vesa = kein Workee.
Joshua

Nur die Auflösung der in Gebrauch befindlichen Displays:xrandr | grep " connected\|\*"
Pablo A

10

Die Anfrage war für die Auflösung . Das ist gegeben durch

xdpyinfo | grep resolution

4
Normalerweise verwenden die Benutzer die Auflösung, um die Dimensionen zu bezeichnen. Die DPI ist nicht so wichtig wie die Abmessungen.
muru

3

Sie können auch verwenden:

 xrandr | grep ' connected'

Beispiel für die Ausgabe auf einem meiner Computer:

LVDS connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm

1

Wenn Sie mit TwinView mehrere verbundene Displays und / oder Offsets verwenden, gibt Ihnen xdpyinfo die Auflösung des gesamten Displaysatzes in der Art, wie diese konfiguriert sind. Wenn Sie die Auflösung eines einzelnen Monitors oder eines an einen der Display-Ports angeschlossenen Monitors benötigen, müssen Sie xrandr verwenden. Allerdings kann xrandr auch in dieser Konfiguration unzuverlässig sein und die Auflösung nicht anzeigen. Siehe diesen Beispieleintrag aus meiner X-Windows-Konfigurationsdatei:

Option "MetaModes" "DP-1: 1440x900 +0+0, DP-3: 1440x900 +1568+0, DP-5: 1440x900 +3136+0"

Die xrandr-Ausgabe sieht folgendermaßen aus:

DVI-D-0 disconnected primary (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 410mm x 256mm
   1440x900      59.89*+
   1280x1024     60.02
   1280x960      60.00
   1280x800      59.81
   1280x720      60.00
   1152x864      75.00
   1024x768      70.07    60.00
   800x600       75.00    60.32    56.25
   640x480       75.00    72.81    59.94
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 connected (normal left inverted right x axis y axis)
   1440x900      59.89 +  74.98
   1280x1024     60.02
   1280x960      60.00
   1280x800      59.81
   1280x720      60.00
   1152x864      75.00
   1024x768      70.07    60.00
   800x600       75.00    60.32    56.25
   640x480       75.00    72.81    59.94
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 connected 1440x900+1568+0 (normal left inverted right x axis y axis) 410mm x 256mm
   1440x900      59.89*+
   1280x1024     60.02
   1280x960      60.00
   1280x800      59.81
   1280x720      60.00
   1152x864      75.00
   1024x768      70.07    60.00
   800x600       75.00    60.32    56.25
   640x480       75.00    72.81    59.94

Sie können sehen, dass DP-3 in der Zeile keine Auflösung anzeigt, die ein Grep für "verbunden" anzeigen würde. Der beste, beständigste und zuverlässigste Befehl, den ich gefunden habe, um die Auflösung eines einzelnen verbundenen Displays zu ermitteln, ist:

/usr/bin/xrandr --query|/usr/bin/grep -A 1 connected|grep -v connected

was dies erzeugt:

   1440x900      59.89*+
--
   1440x900      59.89*+  74.98
--
   1440x900      59.89*+

An diesem Punkt ist es ziemlich trivial, die verschiedenen Auflösungen auszuwählen oder nur für einen Port zu greifen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.