Tôi muốn tìm một hình nền phù hợp nhất với độ phân giải của tôi. Làm thế nào tôi có thể có được độ phân giải chỉ bằng cách viết các lệnh trong dòng lệnh?
Tôi muốn tìm một hình nền phù hợp nhất với độ phân giải của tôi. Làm thế nào tôi có thể có được độ phân giải chỉ bằng cách viết các lệnh trong dòng lệnh?
Câu trả lời:
Lấy từ câu trả lời này :
xdpyinfo | grep dimensions
Hoặc để có được độ phân giải:
xdpyinfo | awk '/dimensions/{print $2}'
HOẶC LÀ
xdpyinfo | grep -oP 'dimensions:\s+\K\S+'
Tôi sẽ chỉ sử dụng 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)
Ở đây tôi có hai màn hình, độ phân giải là:
Để chỉ nhận độ phân giải của màn hình chính, bạn cũng có thể sử dụng oneliner python này:
$ 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
Để có được độ phân giải của máy tính để bàn mở rộng của bạn (đối với thiết lập nhiều màn hình):
$ 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\|\*"
Bạn cũng có thể dùng:
xrandr | grep ' connected'
Ví dụ về đầu ra trên một trong các máy của tôi:
LVDS connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
Để biết giá trị của nó, khi sử dụng nhiều màn hình được kết nối và / hoặc độ lệch với TwinView thì xdpyinfo sẽ cung cấp cho bạn độ phân giải của toàn bộ bộ màn hình theo cách chúng được định cấu hình. Nếu bạn yêu cầu độ phân giải của một màn hình hoặc một màn hình được kết nối với một trong các cổng hiển thị, bạn cần sử dụng xrandr. Tuy nhiên, ngay cả trong cấu hình đó xrandr có thể không đáng tin cậy và không hiển thị độ phân giải. Xem mục ví dụ này từ tệp cấu hình X windows của tôi:
Option "MetaModes" "DP-1: 1440x900 +0+0, DP-3: 1440x900 +1568+0, DP-5: 1440x900 +3136+0"
Đầu ra xrandr trông như thế này:
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
Bạn có thể thấy rằng DP-3 không hiển thị độ phân giải trên dòng mà grep cho "đã kết nối" sẽ hiển thị. Vì vậy, lệnh tốt nhất, nhất quán và đáng tin cậy nhất mà tôi đã tìm thấy để xác định độ phân giải của bất kỳ màn hình được kết nối riêng lẻ nào là:
/usr/bin/xrandr --query|/usr/bin/grep -A 1 connected|grep -v connected
mà tạo ra điều này:
1440x900 59.89*+
--
1440x900 59.89*+ 74.98
--
1440x900 59.89*+
Tại thời điểm đó, thật đơn giản để chọn ra các độ phân giải hoặc grep khác nhau cho chỉ một cổng.
3520x1200 pixels