Come posso ottenere la risoluzione del monitor usando la riga di comando?


Risposte:


71

Tratto da questa risposta :

xdpyinfo | grep dimensions

O per ottenere solo la risoluzione:

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

O

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

8
Funziona con un singolo monitor ma con due monitor somma entrambe le dimensioni, per me i miei due schermi ritornano:3520x1200 pixels
Sylvain Pineau,

3
Buon punto. D'altra parte, questo è ancora utile se sta cercando un singolo sfondo da estendere su tutti i monitor.
aguslr,

Effettivamente hai ragione, +1;)
Sylvain Pineau,

@aguslr Quale sarebbe il punto? Avendo due monitor 2000x1000, a che serve un'immagine di sfondo 4000x2000?
Jos,

1
@Jos, ho capito che questo comando restituirebbe 4000x1000, cioè mette entrambi i monitor uno accanto all'altro. Ad esempio, Sylvain ha due monitor (1600x900 e 1920x1200) e ottiene 3520x1200.
aguslr,

30

Vorrei solo usare 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)

Qui ho due schermi, le risoluzioni sono:

  • 1600x900 (laptop)
  • 1920x1200 (monitor)

Per ottenere solo la risoluzione del tuo monitor principale, puoi anche usare questo Python Oneliner:

$ 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

Per ottenere la risoluzione del desktop esteso (per una configurazione multi monitor):

$ 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 = nessun lavoratore.
Giosuè,

Solo la risoluzione dei display in uso:xrandr | grep " connected\|\*"
Pablo A

10

La richiesta era per la risoluzione . Questo è dato da

xdpyinfo | grep resolution

4
In genere, le persone usano la risoluzione per indicare le dimensioni. Il DPI non è tanto preoccupante quanto le dimensioni.
Muru,

3

Puoi anche usare:

 xrandr | grep ' connected'

Esempio di output su una delle mie macchine:

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

1

Per quello che vale, quando si utilizzano più display collegati e / o offset con TwinView, xdpyinfo offre la risoluzione dell'intero set di display nel modo in cui sono configurati. Se si richiede la risoluzione di un singolo monitor o di un monitor collegato a una delle porte del display, è necessario utilizzare xrandr. Tuttavia, anche in quella configurazione xrandr può essere inaffidabile e non mostrare la risoluzione. Vedi questa voce di esempio dal mio file di configurazione di X windows:

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

L'output di xrandr è simile al seguente:

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

Puoi vedere che DP-3 non sta mostrando una risoluzione sulla linea che mostrerebbe un grep per "connesso". Quindi il comando migliore, più coerente e affidabile che ho trovato per identificare la risoluzione di ogni singolo display collegato è:

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

che produce questo:

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

A quel punto, è abbastanza banale scegliere le diverse risoluzioni o grep per una sola porta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.