Hiển thị thông tin màn hình thông qua dòng lệnh


26

Có cách nào để truy vấn thông tin giám sát từ dòng lệnh? Ví dụ: lấy mô hình màn hình, tương tự như ví dụ lspcivề thông tin thẻ đồ họa, hoặc liệu nó hiện đang bật hay tắt, những thứ tương tự.

Nếu có thể, những loại thông tin cơ bản như trên có thể dễ dàng thu thập? Ví dụ, có thể xác định xem màn hình ở vị trí dọc hay ngang không? Hoặc nếu nó có loa tích hợp hay không?

Dòng lệnh là tùy chọn, nhưng nếu có một phương thức GUI, tôi cũng muốn nghe về nó.


Bạn có GPU gì?
thom

Bộ điều khiển tương thích VGA 02: 00.0: Các thiết bị siêu nhỏ nâng cao [AMD] nee ATI Madison [Mobility Radeon HD 5650/5750 / 6550M]
icyrock.com 7/11/13

có lẽ bạn có nhiều may mắn hơn với: sudo apt-get install xresprobevà chạysudo ddcprobe
thom


Câu trả lời:


14
$ grep "NVIDIA(GPU-0)" /var/log/Xorg.0.log |head -17| cut -d\: -f2
 Display (Samsung SA300/SA350 (DFP-0)) does not support NVIDIA
     3D Vision stereo.
 The EDID for Samsung SA300/SA350 (DFP-0) contradicts itself
     mode "1920x1080" is specified in the EDID; however, the
     EDID's valid VertRefresh range (56.000-75.000 Hz) would
     exclude this mode's VertRefresh (50.0 Hz); ignoring
     VertRefresh check for mode "1920x1080".
 The EDID for Samsung SA300/SA350 (DFP-0) contradicts itself
     mode "1280x720" is specified in the EDID; however, the
     EDID's valid VertRefresh range (56.000-75.000 Hz) would
     exclude this mode's VertRefresh (50.0 Hz); ignoring
     VertRefresh check for mode "1280x720".
 The EDID for Samsung SA300/SA350 (DFP-0) contradicts itself
     mode "720x576" is specified in the EDID; however, the
     EDID's valid VertRefresh range (56.000-75.000 Hz) would
     exclude this mode's VertRefresh (50.0 Hz); ignoring
     VertRefresh check for mode "720x576".

dòng đầu tiên là lệnh. Lưu ý rằng đây không phải là cách chính thức để lấy thông tin về nhà cung cấp / mô hình từ màn hình (nhưng thực tế nó thường là cách duy nhất), cũng phụ thuộc vào nhà cung cấp GPU.
thom

2
Cảm ơn - nhìn vào /var/log/Xorg.0.logthực sự có ích - thật đáng tiếc đây là cách duy nhất.
icyrock.com

Tôi tìm thấy một howto: wiki.xbmc.org/...
thom

Cảm ơn liên kết, điều này có vẻ thú vị - Tôi sẽ kiểm tra nó.
icyrock.com

30

Có, công cụ thu thập thông tin phần cứng đã đọc cho màn hình VESA PnP . Công cụ này có hai lệnh: get-edidparse-edid: công cụ truy xuất và giải thích các thông số kỹ thuật của màn hình bằng giao thức VESA VBE DDC . EDID ( Dữ liệu nhận dạng hiển thị mở rộng ) là định dạng siêu dữ liệu cho các thiết bị hiển thị để mô tả khả năng của chúng với nguồn video.

Đầu tiên:

sudo apt-get install read-edid

Vậy hãy thử đi:

sudo get-edid | parse-edid

1
Cảm ơn thom - bạn có thể làm rõ làm thế nào tôi có thể nhận được mô hình màn hình bằng cách sử dụng get-edid/ parse-edid? Khi tôi chạy ở trên, nó không in bất cứ thứ gì (ngay cả trong Phần "Màn hình") tương tự như nhà sản xuất / model màn hình của tôi. Nếu điều đó ổn với bạn, bạn có thể dán những gì bạn nhận được trên máy và kiểu màn hình bạn có, chỉ để so sánh?
icyrock.com 7/11/13

Mã định danh "\ QX: 2d40" VendorName "\ QX" ModelName "\ QX: 2d40" Tôi phải nói rằng EDID của màn hình của tôi bị lỗi như một địa ngục. Vì vậy, đó không phải là thực sự đại diện :-)
thom

Cảm ơn thom - trông giống như của tôi: ModelName "LGD:8902"vì vậy, có vẻ như nó là đại diện sau tất cả :) Ngoài ra, nó chỉ hiển thị màn hình máy tính xách tay của tôi, nhưng không hiển thị bên ngoài.
icyrock.com

Rất nhiều EDID bị lỗi. Các nhà sản xuất không quan tâm và các nhà phát triển trình điều khiển đang làm hầu hết các cách giải quyết. Thông tin tốt nhất là từ các videodrivers nguồn đóng. Tôi trích xuất nó như thế này: grep "Display" /var/log/Xorg.0.log |tail -1để biết rộng tôi sử dụnggrep "NVIDIA(GPU-0)" /var/log/Xorg.0.log
thom

10

Nếu get-edidkhông hiển thị tất cả các màn hình. Giống như của tôi, tôi có:

$ lshw -c display
  *-display               
       description: VGA compatible controller
       product: 3rd Gen Core processor Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 09
       width: 64 bits
       clock: 33MHz
       capabilities: vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:27 memory:f6400000-f67fffff memory:e0000000-efffffff ioport:f000(size=64)

get-edid chỉ hiển thị màn hình ngoài được cắm vào cổng VGA.

  1. Cài đặt đọc-edid

    sudo apt-get install read-edid
    
  2. Đọc thông tin edid trực tiếp từ sysfs sẽ hiển thị tất cả các màn hình

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

8

Thử

xrandr

(Tôi đã sử dụng chương trình một lần khi tôi đang chơi với thiết lập màn hình kép trên Archlinux.)

Bạn có thể tìm thấy nó trong x11-server-utilsgói. Gói đó chứa những thứ khác để chơi như:

  • iceauth, một công cụ để thao tác các hồ sơ ủy quyền giao thức ICE;
  • rgb;
  • sessreg, một chương trình đơn giản để quản lý các mục utmp / wtmp;
  • xcmsdb, một tiện ích đặc trưng màu thiết bị cho Hệ thống quản lý màu X;
  • xgamma, một công cụ để truy vấn và thiết lập hiệu chỉnh gamma của màn hình;
  • xhost, một chương trình rất nguy hiểm mà bạn không bao giờ nên sử dụng;
  • xmodmap, một tiện ích để sửa đổi ánh xạ khóa và ánh xạ nút con trỏ trong X;
  • xrandr, giao diện dòng lệnh cho phần mở rộng RandR;
  • xrdb, một công cụ để quản lý cơ sở dữ liệu tài nguyên máy chủ X;
  • xrefresh, một công cụ buộc vẽ lại màn hình X;
  • xset, một công cụ để thiết lập các tham số máy chủ X linh tinh;
  • xsetmode và xsetpulum, các công cụ để xử lý X Thiết bị đầu vào;
  • xsetroot, một công cụ để điều chỉnh sự xuất hiện của cửa sổ gốc;
  • xstdcmap, một tiện ích để xác định có chọn lọc các thuộc tính colormap tiêu chuẩn;
  • xvidtune, một công cụ để tùy chỉnh các mô hình máy chủ X cho màn hình của bạn. (thông tin được tìm thấy trong trình quản lý gói synap)

2
Cảm ơn Frank - bạn có thể làm rõ cách sử dụng mô hình màn hình bằng cách sử dụng xrandrkhông?
icyrock.com

ahah không bao giờ sử dụng xhost? tại sao
Jack

0

xrandr, xrandr --propxrandr --verbosesẽ cung cấp cho bạn một số thông tin với mức độ chi tiết khác nhau.

Thông tin do nhà sản xuất cung cấp có thể được tìm thấy ở định dạng EDID .

Để nhận và giải mã EDID, trước tiên hãy kiểm tra xrandrđầu ra để tìm ra giao diện được sử dụng (ví dụ: eDP-1) và apt install edid-decodesau đó:

cat /sys/class/drm/card0-eDP-1/edid | edid-decode

Ví dụ đầu ra bạn có thể tìm thấy ở đây . Thay thế eDP-1bằng giao diện của bạn nếu cần.

Ngoài xrandr --propra , xuất EDID ở định dạng hex mà bạn có thể cung cấp cho bộ giải mã EDID trực tuyến này .

Tôi không khuyên bạn nên sử dụng read-edidgói vì tôi có trải nghiệm tiêu cực với nó (phiên bản 3.0.2). Trong trường hợp của tôi, get-edidxuất ra các ký tự bổ sung sau khi kết thúc dẫn đến cảnh báo từ edid-decodeparse-edidxuất ra rác ngẫu nhiên trong ModelNameIdentifiercác trườ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.