2009-09-16 7 views
5

Tôi muốn viết phần mềm, khi màn hình kết nối với đầu nối D-sub, phần mềm này sẽ bật lên và yêu cầu người dùng nhân bản màn hình hoặc mở rộng màn hình.linux sẽ phát ra sự kiện khi màn hình kết nối với đầu nối D-sub?

nhưng tôi không tìm thấy bất kỳ sự kiện nào phát ra khi kết nối d-sub. trên Windows vista, nếu bạn kết nối màn hình, vista có thể bật lên một phần mềm tương tự.

không ai biết cách phát hiện sự kiện kết nối d-sub và xử lý nó trong linux?

cảm ơn rất nhiều!

Trả lời

3

Theo kiến ​​trúc truyền thống của hệ thống đồ họa trong Linux (một số quản lý hiển thị trực tiếp trong hạt nhân nhưng mọi thứ khác được điều khiển bởi máy chủ X11 của người dùng), hạt nhân không thể phát hiện màn hình mới (vì nó đã từ bỏ quyền kiểm soát phần cứng) và X không thể phát hiện các màn hình mới (vì một chương trình không gian người dùng không thể xử lý các ngắt phần cứng). Bạn có thể kích hoạt X để tìm kiếm các thay đổi trong cấu hình bộ điều hợp với xrandr --auto.

Có thiết kế lại ngăn xếp đồ họa đang được tiến hành, tìm kiếm "chế độ nhân". Theo sơ đồ mới, các trình điều khiển được viết đúng cách sẽ phát ra một uevent cho một bộ chuyển đổi được cắm nóng. Chạy udevmonitor --env sẽ hiển thị sự kiện ghép nối dưới /sys/class/drm/card[n].