Làm cách nào để có được độ phân giải màn hình bằng dòng lệnh?


50

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:


71

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+'

8
Nó hoạt động cho một thiết lập màn hình duy nhất nhưng với hai màn hình, nó tính tổng cả hai chiều, đối với tôi, hai màn hình của tôi trở lại:3520x1200 pixels
Sylvain Pineau

3
Điểm tốt. Mặt khác, điều này vẫn hữu ích nếu anh ta đang tìm kiếm một hình nền duy nhất được kéo dài trên tất cả các màn hình.
aguslr

Thật vậy, bạn đã đúng, +1;)
Sylvain Pineau

@aguslr Điều gì sẽ là điểm của điều đó? Có hai màn hình 2000x1000, công dụng của hình nền 4000x2000 là gì?
Jos

1
@Jos, tôi hiểu rồi, lệnh này sẽ trả về 4000x1000, nghĩa là, nó đặt cả hai màn hình cạnh nhau. Ví dụ, Sylvain có hai màn hình (1600x900 và 1920x1200) và anh ta nhận được 3520x1200.
aguslr

30

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à:

  • 1600x900 (máy tính xách tay)
  • 1920x1200 (màn hình)

Để 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 + vesa = không có workee.
Joshua

Chỉ cần độ phân giải của màn hình đang sử dụng:xrandr | grep " connected\|\*"
Pablo A

10

Yêu cầu là để giải quyết . Điều đó được đưa ra bởi

xdpyinfo | grep resolution

4
Thông thường, mọi người sử dụng độ phân giải có nghĩa là kích thước. DPI không phải là mối quan tâm nhiều như kích thước.
muru

3

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

1

Để 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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.