Chciałbym znaleźć tapetę, która najlepiej pasuje do mojej rozdzielczości. Jak mogę uzyskać rozdzielczość, pisząc polecenia w wierszu poleceń?
Chciałbym znaleźć tapetę, która najlepiej pasuje do mojej rozdzielczości. Jak mogę uzyskać rozdzielczość, pisząc polecenia w wierszu poleceń?
Odpowiedzi:
Na podstawie tej odpowiedzi :
xdpyinfo | grep dimensions
Lub uzyskać tylko rozdzielczość:
xdpyinfo | awk '/dimensions/{print $2}'
LUB
xdpyinfo | grep -oP 'dimensions:\s+\K\S+'
Chciałbym po prostu użyć 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)
Tutaj mam dwa ekrany, rozdzielczość to:
Aby uzyskać tylko rozdzielczość głównego monitora, możesz również użyć tego onelinera pythonowego:
$ 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
Aby uzyskać rozdzielczość rozszerzonego pulpitu (w przypadku konfiguracji z wieloma monitorami):
$ python3 -c 'from gi.repository import Gdk; screen=Gdk.Screen.get_default(); \
print(screen.get_width(), "x", screen.get_height())'
3520 x 1200
xrandr | grep " connected\|\*"
Możesz także użyć:
xrandr | grep ' connected'
Przykład danych wyjściowych na jednym z moich komputerów:
LVDS connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
Jeśli chodzi o to, co warto, w przypadku korzystania z wielu połączonych wyświetlaczy i / lub przesunięć z TwinView, xdpyinfo poda rozdzielczość całego zestawu wyświetlaczy w sposób, w jaki są skonfigurowane. Jeśli potrzebujesz rozdzielczości pojedynczego monitora lub monitora podłączonego do jednego z portów wyświetlacza, musisz użyć xrandr. Jednak nawet w tej konfiguracji xrandr może być zawodny i nie wyświetlać rozdzielczości. Zobacz ten przykładowy wpis z mojego pliku konfiguracyjnego X Windows:
Option "MetaModes" "DP-1: 1440x900 +0+0, DP-3: 1440x900 +1568+0, DP-5: 1440x900 +3136+0"
Wyjście xrandr wygląda następująco:
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
Widać, że DP-3 nie wyświetla rozdzielczości w linii, którą pokazywałby grep dla „połączonego”. Zatem najlepszym, najbardziej spójnym i niezawodnym poleceniem, które znalazłem do identyfikacji rozdzielczości każdego podłączonego wyświetlacza jest:
/usr/bin/xrandr --query|/usr/bin/grep -A 1 connected|grep -v connected
co powoduje:
1440x900 59.89*+
--
1440x900 59.89*+ 74.98
--
1440x900 59.89*+
W tym momencie wybranie różnych rozdzielczości lub grep dla tylko jednego portu jest dość trywialne.
3520x1200 pixels