Perbedaan visual antara lingkungan desktop GNOME dan KDE mudah dilihat, jadi bagaimana mungkin menjalankan aplikasi dari satu di bawah yang lain tanpa masalah? SuperUser Q & A postingan hari ini memiliki jawabannya.
Sesi Tanya & Jawab hari ini hadir untuk memberi kami hak milik SuperUser-sub divisi Stack Exchange, pengelompokan situs web Q & A berbasis komunitas.
Sajian clipart 'Shaking Hands' dari Clker.com.
Pembaca SuperUser, LeNoob ingin tahu bagaimana aplikasi KDE dapat berjalan di bawah GNOME:
Jika GNOME menggunakan GTK + dan KDE menggunakan Qt, bagaimana aplikasi KDE dapat berjalan di bawah GNOME?
Apa yang memungkinkan aplikasi KDE berjalan lancar di bawah GNOME?
Penggemar kontributor SuperUser memiliki jawaban untuk kami:
Ini dimungkinkan karena lingkungan desktop ini menggunakan sistem grafik yang sama, X11. Semua program grafis hanya berbicara protokol X11 dengan server X (biasanya Xorg), mengirim perintah untuk menggambar ini atau itu, dan menerima peristiwa input (mouse, keyboard, dll.).
Setiap toolkit UI seperti GTK atau Qt datang dalam bentuk pustaka yang terhubung dengan program grafis. Program yang ditulis untuk GNOME akan digunakan libgdk dan libgtk, dan program KDE akan digunakan libQtCore dengan libQtGui. Kedua toolkits kemudian hanya menggunakan fungsi X11 yang sama untuk menggambar semuanya di jendela program masing-masing.
Kebanyakan toolkit modern, seperti GTK, Qt, atau EFL, melakukan semua pengundian diri, dan hanya mengirim gambar akhir seluruh jendela ke X11. Toolkit yang lebih tua seperti Xaw atau Motif malah mengirim perintah untuk menggambar primitif seperti garis atau persegi panjang, dan server X melakukan semua render.
Protokol X11 juga mencakup manajemen jendela, jadi setiap lingkungan desktop akan memiliki program "window manager" yang menggambar bingkai jendela ("dekorasi"), memungkinkan Anda untuk memindahkan dan mengubah ukuran jendela, dan seterusnya. Jendela manajer “composite” modern benar-benar mengambil alih tugas Xorg untuk menyusun semua jendela ke gambar layar akhir, memungkinkan hal-hal seperti bayangan atau efek yang akan ditambahkan.
Mengikat ke sistem grafis yang sama agar mudah "kompatibilitas" adalah hal yang luar biasa, dan hebat ketika Anda ingin memiliki semua aplikasi favorit Anda yang berjalan di bawah lingkungan desktop yang sama!
Memiliki sesuatu untuk ditambahkan ke penjelasan? Bicaralah di komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang paham teknologi lainnya? Lihat diskusi lengkap di sini.