Phiên Hỏi & Đáp hôm nay đến với chúng tôi theo lịch sự của SuperUser - một phân khu của Stack Exchange, một nhóm các trang web Hỏi & Đáp do cộng đồng điều hành.
Clip bắt tay ‘Shaking Hands’ của Clker.com.
Câu hỏi
Trình đọc siêu người dùng LeNoob muốn biết các ứng dụng KDE có thể chạy dưới GNOME như thế nào:
If GNOME uses GTK+ and KDE uses Qt, how are KDE applications able to run under GNOME?
Điều gì làm cho ứng dụng KDE có thể chạy trơn tru dưới GNOME?
Câu trả lời
Siêu người đóng góp grawity có câu trả lời cho chúng tôi:
This is possible because these desktop environments use the same graphics system, X11. All graphical programs only talk the X11 protocol with an X server (usually Xorg), sending commands to draw this or that, and receiving input events (mouse, keyboard, etc.).
Each UI toolkit like GTK or Qt comes in the form of libraries that the graphical program links against. A program written for GNOME will use libgdk and libgtk, and a KDE program will use libQtCore with libQtGui. Both toolkits then simply use the same X11 functions to draw everything in the respective program’s window.
Most modern toolkits, like GTK, Qt, or EFL, perform all drawing themselves, and just send the finished image of the whole window over X11. Older toolkits like Xaw or Motif instead send commands to draw primitives like lines or rectangles, and the X server does all rendering.
The X11 protocol also covers window management, so each desktop environment will have a “window manager” program which draws window frames (“decorations”), allows you to move and resize windows, and so on. Modern “compositing” window managers actually take over Xorg’s job of composing all windows onto the final screen image, allowing things like shadows or effects to be added.
Gắn kết vào cùng một hệ thống đồ họa để dễ dàng "tương thích" là một điều tuyệt vời và tuyệt vời khi bạn muốn có tất cả các ứng dụng yêu thích của mình chạy trong cùng một môi trường máy tính để bàn!
Có cái gì để thêm vào lời giải thích? Tắt âm thanh trong các ý kiến. Bạn muốn đọc thêm câu trả lời từ những người dùng Stack Exchange có hiểu biết công nghệ khác? Xem toàn bộ chuỗi thảo luận tại đây.