Dalam proses belajar melakukan hal-hal tertentu dalam pemrograman GUI (misalnya, memesan ruang pada layar untuk aplikasi), saya harus belajar lebih banyak tentang Window Manager, biasanya X11 di Linux (saya tidak yakin apakah ada distro bahkan , yang menggunakan apa pun selain X11, meskipun saya mendengar tentang Wayland , yang belum diimplementasikan.)
Saya cukup baru dalam pemrograman, dan tidak sabar; jadi saya hanya menyelam ke dalamnya. Sekarang saya membaca ICCCM, dengan harapan untuk belajar lebih banyak. Namun dokumen ini bertujuan untuk publik yang tahu (cara) lebih dari saya. Jadi saya menemukan beberapa informasi, dan saya ingin mendapatkan beberapa klarifikasi.
Bagian 2 dari kutipan ICCCM:
Perhatikan bahwa semua data yang ditransfer antara pemilik dan pemohon biasanya harus melalui server di lingkungan X Versi 11. Seorang klien tidak dapat berasumsi bahwa klien lain dapat membuka file yang sama atau bahkan berkomunikasi secara langsung. Klien lain mungkin berbicara ke server melalui mekanisme jaringan yang sama sekali berbeda (misalnya, satu klien mungkin DECnet dan TCP / IP lainnya). Dengan demikian, meneruskan referensi tidak langsung ke data (seperti nama file, nama host dan nomor port, dan sebagainya) diizinkan hanya jika kedua klien secara khusus setuju.
Sejauh yang saya mengerti, X Window Manager dibangun di atas Server X (terima kasih Wikipedia). Dalam kutipan di atas: dikatakan klien dapat berkomunikasi dengan server menggunakan DECnet atau TCP / IP. Sejauh ini saya berpikir bahwa "server" adalah kiasan, sekarang saya ragu: apakah server X server seperti di "server web"? Bagaimana saya harus memahami fungsinya / definisinya?
Kemudian, sering ada referensi ke X11, Xorg, X Server dan / atau X Window Manager. Itu membingungkan: apakah X11 bundel termasuk Xorg dan X Window Manager? Jika demikian, apakah ada hal lain dalam bundel X11 ini?
X juga memerlukan mouse atau keyboard atau input jenis lain: apakah ini juga bagian dari fungsi X Server? Apakah X Window Manager hanya menjaga tampilan saja?
Akhirnya, kutipan di sini juga menyebutkan klien berkomunikasi atau tidak dengan satu sama lain: ini mengingatkan saya pada D-Bus, yang saya gunakan sedikit untuk tujuan pembelajaran. Dengan D-Bus Anda juga dapat memicu peristiwa jendela. Itu membuat saya sedikit bingung bagaimana program harus berkomunikasi satu sama lain: * apa perbedaan antara program yang berinteraksi menggunakan X Server atau menggunakan D-Bus? *
Sayang sekali informasi ini entah bagaimana tetap tidak jelas, itu membuatnya lebih sulit untuk dipelajari, tetapi mudah-mudahan Anda dapat memahami ini :) Terima kasih.