Tại sao tôi cần dbus?


17

Gần đây tôi đã gỡ bỏ dbus khỏi hệ thống của mình (cùng với consolekit và polkit). Tôi không nhận thấy bất kỳ thay đổi nào (Tôi đang chạy nó dưới dạng daemon hệ thống và mỗi người dùng từ .xinitrc). Tuy nhiên, nhiều người cho rằng một người chỉ cần dbus, hầu hết các ứng dụng linux đang sử dụng nó, v.v. Câu hỏi của tôi là, tại sao tôi lại cần nó? Tôi không nghĩ rằng tôi hiểu chính xác những gì nó làm. Tôi biết đó là một "hệ thống bus tin nhắn", các quá trình giao tiếp thông qua nó, v.v. Tôi vẫn không biết tôi kiếm được gì khi sử dụng nó. Ai đó có thể giải thích cho tôi, tốt nhất là với các ví dụ "từ đời thực"?


3
Đừng lo lắng, bạn thậm chí sẽ không cần phải cài đặt / gỡ cài đặt dbus trong tương lai gần. Nó là một phần của kernel ngay bây giờ: kroah.com/log/blog/2014/01/15/kdbus-details
yegorich

Câu trả lời:


10

Là người dùng cuối, bạn không. Không có gì mà D-Bus làm điều đó không thể được thực hiện theo một cách khác.

Lợi ích của D-Bus chủ yếu được các nhà phát triển quan tâm. Nó thống nhất một số chức năng phức tạp (nhắn tin hướng đối tượng và an toàn kiểu, kích hoạt daemon, thông báo sự kiện, độc lập vận chuyển) trong một cơ sở duy nhất hoạt động như nhau bất kể sử dụng ngôn ngữ lập trình hoặc bộ công cụ cửa sổ nào.


2
Nhưng không nên sau đó một số ứng dụng không thể chạy nếu không có dbus?
lalala

Một số, chắc chắn. Nhưng nó có thể làm cho nó một yêu cầu tùy chọn bất kể.
Ignacio Vazquez-Abrams

Thông báo khay hệ thống trên DE được tạo bằng cách gửi tin nhắn DBUS. Ít nhất tôi đã có một thiết lập sử dụng DBUS tuyệt vời vì lý do đó.
Spidey

@Spidey: Có, nhưng không có lý do gì mà họ không thể sử dụng ổ cắm tên miền cho điều đó. Nó chỉ xảy ra rằng D-Bus là một lựa chọn tốt hơn.
Ignacio Vazquez-Abrams

Tất nhiên, DBUS chỉ là một giao thức IPC khác. Nhưng đây là một trong những ví dụ mà OP yêu cầu ngay từ đầu.
Spidey
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.