Jak w terminalu Linux zebrać informacje o podłączonych monitorach?

Praca z wieloma monitorami w systemie Linux jest dziś czymś zupełnie naturalnym – zarówno dla programistów, administratorów, jak i użytkowników desktopowych. Jednak gdy pojawia się potrzeba sprawdzenia dokładnych informacji o podłączonych ekranach (model, producent, rozdzielczość czy aktywne porty), terminal okazuje się najpotężniejszym narzędziem.

W tym artykule pokażę Ci kilka sprawdzonych sposobów na zebranie informacji o monitorach bez użycia GUI.

1. xrandr – szybki i najczęściej używany

To podstawowe narzędzie dostępne w większości dystrybucji Linuxa. Pozwala sprawdzić, jakie monitory są podłączone, jakie mają rozdzielczości oraz które porty są aktywne.

Lista podłączonych monitorów:

xrandr | grep " connected "

eDP-1 connected primary 1920x1080+2560+1440 (normal left inverted right x axis y axis) 344mm x 193mm
HDMI-1 connected 2560x1440+2560+0 (normal left inverted right x axis y axis) 597mm x 336mm
DP-1-8 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 597mm x 336mm

Szczegółowe informacje:

xrandr -q

Screen 0: minimum 320 x 200, current 5120 x 2520, maximum 16384 x 16384
eDP-1 connected primary 1920x1080+2560+1440 (normal left inverted right x axis y axis) 344mm x 193mm
   1920x1080     60.05 +  60.01*   59.97    59.96    59.93    48.04  
   1680x1050     59.95    59.88  
   1600x1024     60.17  
   1400x1050     59.98  
   1600x900      59.99    59.94    59.95    59.82  
   1280x1024     60.02  
   1440x900      59.89  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1440x810      60.00    59.97  
   1368x768      59.88    59.85  
   1360x768      59.80    59.96  
   1280x800      59.99    59.97    59.81    59.91  
   1152x864      60.00  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   960x540       59.96    59.99    59.63    59.82  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   800x512       60.17  
   700x525       59.98  
   800x450       59.95    59.82  
   640x512       60.02  
   720x450       59.89  
   700x450       59.96    59.88  
   640x480       60.00    59.94  
   720x405       59.51    58.99  
   684x384       59.88    59.85  
   680x384       59.80    59.96  
   640x400       59.88    59.98  
   576x432       60.06  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
HDMI-1 connected 2560x1440+2560+0 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x1440     59.95*+
   1920x1200     59.95  
   2048x1080     60.00  
   1920x1080     60.00    50.00    59.94  
   1920x1080i    60.00    50.00    59.94  
   1600x1200     60.00  
   1680x1050     59.88  
   1280x1024     75.02    60.02  
   1280x800      59.91  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x576i      50.00  
   720x480       60.00    59.94  
   720x480i      60.00    59.94  
   640x480       75.00    60.00    59.94  
   720x400       70.08  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-3 disconnected (normal left inverted right x axis y axis)
DP-1-8 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x1440     59.95*+
   1920x1200     59.88  
   2048x1080     60.00  
   1920x1080     60.00    50.00    59.94  
   1600x1200     60.00  
   1680x1050     59.95  
   1280x1024     75.02    60.02  
   1280x800      59.81  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    60.00    59.94  
   720x400       70.08  
DP-1-1 disconnected (normal left inverted right x axis y axis)

Zobaczysz m.in.:

  • nazwy wyjść (HDMI-1, DP-1, eDP-1),
  • dostępne rozdzielczości,
  • aktualnie używane ustawienia.

To najlepszy pierwszy krok diagnostyczny.

2. hwinfo – więcej szczegółów sprzętowych

Jeśli zależy Ci na dokładnych informacjach o producencie i modelu monitora, hwinfo jest świetnym wyborem.

Krótkie podsumowanie:

sudo hwinfo --monitor --short

monitor:                                                        
                       DELL P2720DC
                       FD64N B156HAN LCD Monitor
                       DELL P2720DC

Bardziej szczegółowe dane:

hwinfo | grep -i -B 3 -A 3 monitor

Zyskasz dostęp do:

  • nazwy producenta,
  • modelu monitora,
  • identyfikatorów sprzętowych.

3. EDID – najdokładniejsze źródło informacji

Każdy monitor przechowuje swoje dane w formacie EDID (Extended Display Identification Data). Można je odczytać bezpośrednio z systemu.

Komenda:

ls /sys/class/drm/*/edid | xargs -i{} sh -c "echo {}; parse-edid < {}"

/sys/class/drm/card0-DP-1/edid
Partial Read... Try again
/sys/class/drm/card0-DP-2/edid
Partial Read... Try again
/sys/class/drm/card0-DP-5/edid
Checksum Correct

Section "Monitor"
	Identifier "DELL P2720DC"
	ModelName "DELL P2720DC"
	VendorName "DEL"
	# Monitor Manufactured week 18 of 2021
	# EDID version 1.4
	# Digital Display
	DisplaySize 600 340
	Gamma 2.20
	Option "DPMS" "true"
	Horizsync 29-113
	VertRefresh 49-75
	# Maximum pixel clock is 280MHz
	#Not giving standard mode: 1280x800, 60Hz
	#Not giving standard mode: 1680x1050, 60Hz
	#Not giving standard mode: 1920x1200, 60Hz
	#Not giving standard mode: 1152x864, 75Hz
	#Not giving standard mode: 1600x1200, 60Hz
	#Not giving standard mode: 1280x1024, 60Hz
	#Not giving standard mode: 1920x1080, 60Hz

	#Extension block found. Parsing...
	Modeline 	"Mode 16" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
	Modeline 	"Mode 0" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync 
	Modeline 	"Mode 1" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
	Modeline 	"Mode 2" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace
	Modeline 	"Mode 3" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
	Modeline 	"Mode 4" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
	Modeline 	"Mode 5" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
	Modeline 	"Mode 6" 27.027 1440 1478 1602 1716 480 484 487 525 -hsync -vsync interlace
	Modeline 	"Mode 7" 27.000 1440 1464 1590 1728 576 578 581 625 -hsync -vsync interlace
	Modeline 	"Mode 8" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
	Modeline 	"Mode 9" 27.027 1440 1478 1602 1716 480 484 487 525 -hsync -vsync interlace
	Modeline 	"Mode 10" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
	Modeline 	"Mode 11" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
	Modeline 	"Mode 12" 27.000 1440 1464 1590 1728 576 578 581 625 -hsync -vsync interlace
	Modeline 	"Mode 13" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
	Modeline 	"Mode 14" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace
	Modeline 	"Mode 15" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
	Modeline 	"Mode 17" 74.25 1920 2008 2052 2200 540 542 547 562 +hsync +vsync interlace
	Modeline 	"Mode 18" 147.18 2048 2096 2128 2208 1080 1083 1093 1111 +hsync -vsync 
	Option "PreferredMode" "Mode 16"
EndSection
/sys/class/drm/card0-DP-6/edid
Partial Read... Try again
/sys/class/drm/card0-eDP-1/edid
Checksum Correct

Section "Monitor"
	Identifier ""
	ModelName ""
	VendorName "AUO"
	# Monitor Manufactured week 0 of 2017
	# EDID version 1.4
	# Digital Display
	DisplaySize 340 190
	Gamma 2.20
	Option "DPMS" "false"
	Modeline 	"Mode 0" 142.00 1920 2028 2076 2100 1080 1090 1100 1126 +hsync -vsync 
	Modeline 	"Mode 1" 113.60 1920 2028 2076 2100 1080 1090 1100 1126 +hsync -vsync 
EndSection
/sys/class/drm/card0-HDMI-A-1/edid
Checksum Correct

Section "Monitor"
	Identifier "DELL P2720DC"
	ModelName "DELL P2720DC"
	VendorName "DEL"
	# Monitor Manufactured week 46 of 2020
	# EDID version 1.3
	# Digital Display
	DisplaySize 600 340
	Gamma 2.20
	Option "DPMS" "true"
	Horizsync 29-113
	VertRefresh 49-75
	# Maximum pixel clock is 280MHz
	#Not giving standard mode: 1280x800, 60Hz
	#Not giving standard mode: 1680x1050, 60Hz
	#Not giving standard mode: 1920x1200, 60Hz
	#Not giving standard mode: 1152x864, 75Hz
	#Not giving standard mode: 1600x1200, 60Hz
	#Not giving standard mode: 1280x1024, 60Hz
	#Not giving standard mode: 1920x1080, 60Hz

	#Extension block found. Parsing...
	Modeline 	"Mode 16" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
	Modeline 	"Mode 0" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync 
	Modeline 	"Mode 1" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
	Modeline 	"Mode 2" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace
	Modeline 	"Mode 3" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
	Modeline 	"Mode 4" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
	Modeline 	"Mode 5" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
	Modeline 	"Mode 6" 27.027 1440 1478 1602 1716 480 484 487 525 -hsync -vsync interlace
	Modeline 	"Mode 7" 27.000 1440 1464 1590 1728 576 578 581 625 -hsync -vsync interlace
	Modeline 	"Mode 8" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
	Modeline 	"Mode 9" 27.027 1440 1478 1602 1716 480 484 487 525 -hsync -vsync interlace
	Modeline 	"Mode 10" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
	Modeline 	"Mode 11" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
	Modeline 	"Mode 12" 27.000 1440 1464 1590 1728 576 578 581 625 -hsync -vsync interlace
	Modeline 	"Mode 13" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
	Modeline 	"Mode 14" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace
	Modeline 	"Mode 15" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
	Modeline 	"Mode 17" 74.25 1920 2008 2052 2200 540 542 547 562 +hsync +vsync interlace
	Modeline 	"Mode 18" 147.18 2048 2096 2128 2208 1080 1083 1093 1111 +hsync -vsync 
	Option "PreferredMode" "Mode 16"

Wymagane narzędzie:

sudo apt install read-edid

Dzięki temu podejściu uzyskasz:

  • dokładny model monitora,
  • producenta,
  • natywną rozdzielczość,
  • szczegóły sygnału.

To najbardziej „surowe” i wiarygodne źródło danych.

4. SYSFS – sprawdzanie aktywnych portów

Bez instalowania dodatkowych narzędzi możesz sprawdzić, które porty są aktualnie używane.

cat /sys/class/drm/*/status

Przykładowy wynik:

connected
disconnected
connected

Pozwala to szybko ustalić:

  • które wyjścia są aktywne,
  • czy system wykrywa fizyczne podłączenie monitora.

5. inxi – kompleksowe informacje o grafice

inxi to narzędzie typu „all-in-one”, które zbiera informacje o całym systemie.

inxi -aG

Graphics:  Device-1: Intel UHD Graphics 630 vendor: Dell driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:3e9b 
           Display: x11 server: X.Org 1.20.13 driver: none compositor: gnome-shell v: 3.36.9 
           resolution: 2560x1440~60Hz, 2560x1440~60Hz 
           OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 21.2.6 direct render: Yes 

Otrzymasz:

  • informacje o karcie graficznej,
  • dane o monitorach,
  • aktualne ustawienia wyświetlania.

Bardzo wygodne przy ogólnej diagnostyce systemu.

6. Logi Xorg – starsze, ale nadal przydatne

W systemach korzystających z Xorga można znaleźć informacje o monitorach w logach startowych.

grep -i 'Monitor name' /var/log/Xorg.0.log

To rozwiązanie przydaje się szczególnie przy:

  • debugowaniu problemów z wyświetlaniem,
  • analizie starszych konfiguracji.

Podsumowanie

Jeśli chcesz szybko sprawdzić informacje o monitorach:

  • Najprostsze rozwiązanie:
    • xr—andr -q
  • Najwięcej szczegółów:
    • hwinfo --monitor
  • Najdokładniejsze dane:
    • EDID (parse-edid)
  • Szybki status portów:
    • /sys/class/drm/*/status

W praktyce warto znać kilka metod – każda z nich daje nieco inny poziom szczegółowości i przydaje się w innych sytuacjach.

Jeśli budujesz własne środowisko pracy, konfigurujesz stanowiska wielomonitorowe albo tworzysz narzędzia diagnostyczne (np. do automatyzacji), te komendy będą Twoim codziennym zestawem.

About the author

Autor "BIELI" to zapalony entuzjasta otwartego oprogramowania, który dzieli się swoją pasją na blogu poznajlinuxa.pl. Jego wpisy są skarbnicą wiedzy na temat Linuxa, programowania oraz najnowszych trendów w świecie technologii. Autor "BIELI" wierzy w siłę społeczności Open Source i zawsze stara się inspirować swoich czytelników do eksplorowania i eksperymentowania z kodem.