Pengelola Jendela vs. Lingkungan Desktop vs. Sistem Jendela? Apa bedanya?

23

Saya bingung apa arti istilah-istilah ini DAN apa yang mereka lakukan / bagaimana mereka berkontribusi pada sistem secara keseluruhan. Secara khusus, kembali ketika saya menjalankan Ubuntu, ada beberapa kata kunci seperti:

Gnome 
X11 
Xorg 
Metacity 
GTK+

Apa sebenarnya perbedaan antara semua ini? Yang bisa diubah? Apakah hal yang sama berlaku ketika kita berbicara tentang KDE atau LXDE?

EDIT: Juga, apakah hal-hal seperti Compiz bekerja di setiap window manager / sistem jendela / lingkungan desktop?

n0pe
sumber
Sudah bertanya pada 2010 di AskUbuntu dan bertanya beberapa bulan kemudian di Unix & Linux . Memisahkan rambut StackExchange dalam banyak bagian tidak selalu masuk akal.
Dan Dascalescu

Jawaban:

26

X11 adalah protokol jaringan . Ini mengkodekan hal-hal seperti grafis primitif, gambar, gerakan pointer, dan penekanan tombol.

Xorg adalah X server . Ini mengimplementasikan X11 dan menyediakan antarmuka untuk keyboard, mouse, dan kartu video.

GTK + adalah toolkit widget . Ini menyediakan hal-hal seperti tombol, scrollbar, kotak edit, dll.

Metacity dan Compiz adalah manajer jendela . Mereka menghias primitif jendela X dan mendukung berbagai operasi seperti memindahkan, mengubah ukuran, dan memaksimalkan jendela.

GNOME, KDE, dan LXDE adalah lingkungan desktop . Mereka menyediakan perpustakaan dan spesifikasi yang digunakan dan diikuti aplikasi untuk "bermain baik" dengan aplikasi lain.

Ignacio Vazquez-Abrams
sumber
Ini adalah jawaban +1 yang benar-benar hebat dan sederhana. Namun, dapatkah server Xorg diubah atau apakah itu standar linux? Juga, saya belum pernah mendengar GTK + atau Metacity di lingkungan KDE - apakah mereka spesifik Gnome?
n0pe
3
Xorg hanyalah salah satu implementasi dari X11; itu hanya merupakan implementasi FOSS paling populer. KDE menetapkan bahwa Qt digunakan sebagai toolkit widgetnya, jadi tidak mungkin bagi aplikasi KDE untuk menggunakan GTK + karena itu tidak akan lagi menjadi aplikasi KDE. Dimungkinkan untuk menggunakan Metacity di bawah KDE (window manager jarang menjadi bagian dari spesifikasi DE, hanya standar yang waras), tetapi sebagian besar alasan orang yang menggunakan KDE pertama-tama adalah karena konfigurabilitasnya, dan Metacity adalah yang paling penting. kebalikan dari konfigurasi.
Ignacio Vazquez-Abrams
Satu pertanyaan lagi, dan terima kasih atas informasinya hingga saat ini. Apakah manajer jendela berperan dalam kompatibilitas layar ganda? Saya akan beralih dari KDE ke solusi yang ringan (blackbox / openbox, area itu) dan saya bertanya-tanya apakah ini bahkan mempengaruhi layar ganda atau semacamnya.
n0pe
Mereka seharusnya tidak , tetapi beberapa mungkin menyediakan fitur tambahan dalam situasi multi-monitor (jepret ke tepi layar, kirim ke layar, dll.).
Ignacio Vazquez-Abrams
user113907 menyebutkan: "X11 adalah sistem jendela (hal yang menarik jendela di layar)". Anda menyebutkan: "X11 adalah protokol jaringan". Bisakah ini direkonsiliasi?
dotancohen
4

Berikut adalah istilah yang didefinisikan, bersama dengan beberapa contoh Ubuntu-sentris.

  • Window Manager: Mengambil permintaan windows dan menempatkannya ke tempat yang mereka tuju. Apakah hal-hal seperti bilah judul, menu, dll. Contoh: Metacity

  • Lingkungan Desktop: Superset Manajer Jendela yang menambahkan hal-hal seperti panel, latar belakang, dan kenyamanan lainnya. Contoh: GNOME

  • Sistem Windowing: Perangkat lunak tingkat rendah aktual yang memungkinkan untuk hal-hal seperti windows ada di tempat pertama, dan menggambarnya di layar. Contoh: Xorg

Secara umum, Anda mungkin juga tertarik untuk mengetahui bahwa window manager dan lingkungan desktop adalah apa yang berinteraksi dengan pengguna. Anda tidak langsung menyentuh (kecuali Anda berada dalam shell pemulihan) sistem windowing.

Perhatikan juga bahwa hal-hal ini dapat bersifat modular untuk menghormati yang lain. Misalnya, Anda dapat menggunakan window manager di Xorg, dan lingkungan desktop apa pun di atas window manager apa pun.

baru123456
sumber
4

GNOME adalah lingkungan desktop (menangani ikon dan panel desktop).

Metacity adalah salah satu manajer jendela GNOME (ini membuat windows tetap teratur).

GTK + adalah toolkit widget GNOME (ini menarik tombol dan kotak centang).

X11 adalah sistem jendela (benda yang menggambar jendela di layar).

Xorg adalah implementasi sumber terbuka X11 (biasanya identik dengan X11).

Compiz adalah window manager dan desktop compositor (desktop compositor adalah program yang membuat efek khusus, seperti desktop cube, di layar Anda).

Anda dapat menjalankan Compiz di GNOME, KDE, dan Unity setidaknya. Dapatkan saja paket CCSM dengan memasukkan ini ke terminal:

$ sudo apt-get install ccsm
$ ccsm

(Jangan masukkan tanda dolar dan spasi setelahnya; ini hanya berarti bahwa Anda tidak masuk sebagai root.) Di CCSM (Compiz Config Settings Manager), hidupkan dan konfigurasikan efek desktop apa pun yang Anda inginkan. Hati-hati! Anda mungkin kehilangan titlebars di GNOME dan UNITY. Jika itu terjadi, tekan Ctrl-Alt-F1 dan ketik:

$ top

Lihat di bawah kolom PID dan catat nomor pada entri xorg. Lalu masukkan:

$ sudo bunuh pid

Layar login akan segera muncul. Masuk lagi dan hindari membuat kesalahan seperti yang Anda lakukan terakhir kali. Maaf untuk wacana panjang.

pengguna113907
sumber
Ignacio Vazquez-Abrams menyebutkan: "X11 adalah protokol jaringan". Anda menyebutkan: "X11 adalah sistem jendela (benda yang menggambar jendela di layar)". Bisakah ini direkonsiliasi?
dotancohen