Câu trả lời:
Unity sử dụng bộ công cụ gọi là Nux . Nux là một bộ công cụ opengl được thiết kế để chạy như là một hệ thống widget độc lập hoặc được nhúng vào các ứng dụng opengl hiện có. Trong compiz chúng tôi chạy nux trong chế độ nhúng.
Trong khi nux là một bộ công cụ, nó được thiết kế rất mỏng, cho phép chúng tôi vẫn thực hiện các cuộc gọi opengl trực tiếp khi chúng tôi cần. Nux chứa hầu hết các widget mà nhà phát triển muốn sử dụng và đang được phát triển cùng với sự thống nhất dưới dạng bộ công cụ.
Unity KHÔNG sử dụng GTK trong nội bộ. Một số nội dung bên ngoài được hiển thị với GTK (các menu toàn cầu không được xử lý), tuy nhiên GTK không liên quan đến Unity ngoài điều đó.
Ứng dụng Gnome tất nhiên vẫn sử dụng GTK.
Tôi nghĩ rằng sự thống nhất sử dụng NUX >> http://inalogic.com/ và https://launchpad.net/nux
Unity chính nó là một vỏ máy tính để bàn. Đó là một vỏ dựa trên Nền tảng Gnome, như Gnome Shell là một vỏ khác cho nó.
Trong nội bộ, Unity sử dụng bộ công cụ GL nhúng, nhưng bộ công cụ này không có nghĩa là được sử dụng để phát triển "ứng dụng Unity". Những gì có liên quan là bộ công cụ mà các nhà phát triển ứng dụng nên sử dụng để hoạt động tốt trong môi trường Unity.
Các ràng buộc được cung cấp sao cho cả bộ công cụ GTK + và QT có thể được sử dụng để phát triển các ứng dụng tương thích với Unity.
Ứng dụng tương thích với Unity là một ứng dụng sử dụng libunity để tích hợp với shell Unity: tích hợp launcher, tích hợp trình phát âm thanh, v.v. Phạm vi của libunity hiện bị giới hạn, nhưng cũng được bổ sung bởi các thư viện của sáng kiến Ayatana: dbusmenu, chỉ báo, thông báo-osd.
Danh sách các API tham chiếu hiện có sẵn tại: http://developer.ubfox.com/api/
Tôi nghĩ rằng gói unity-nơi đang sử dụng lộn xộn. Ngoài ra đoàn kết là sử dụng nux quá.