Xorg ve Gnome / KDE / Xfce arasındaki fark


21

UNIX sistemleri hakkında daha fazla bilgi edinmek istiyorum ve bence oldukça basit bir sorum var. X'in ne için kullanıldığını biliyorum: Uygulamalara UI'lerini (diğer şeylerin yanı sıra) sunmak için bir standart veriyor.

Peki neden Gnome / KDE'ye ihtiyaç var ve X ile nasıl ilişki kuruyorlar? X'i uygulama ve GUI arasında bir çeşit arabirim olarak kullandıklarını düşündüm, bu yüzden arayüz uygulamalar arasında aynı kalırken GUI özelleştirilebilir.

Bu doğru mu veya Gnome / KDE X'ten bağımsız mı?

Yanıtlar:


29

(GNOME ve X arasındaki ilişkiyi inceliyorum. Bazı anlayışlarımı paylaşmak istiyorum. Mümkün olduğu kadar mantıklı bir şekilde sunacağım.)

1. GUI nelerden oluşur?

Aşağıda bir GUI'nin temel bileşenlerini gösteren bir örnek bulunmaktadır.

resim açıklamasını buraya girin

Temel bileşen görüntüleme sunucusudur . Kullanılabilir birkaç görüntü sunucusu vardır. Gibi:

  • X11 (çoğunlukla * nix için)
  • Wayland (çoğunlukla * nix için)
  • Mir (çoğunlukla * nix için)
  • SurfaceFlinger (Bu, Google Android içindir.)
  • Quartz Compositor (Apple MacOS'un kullandığı budur.)
  • Masaüstü Pencere Yöneticisi (Microsoft Windows'un kullandığı budur.)

2. X nedir?

X, X11 ve X Pencere Sistemi eşanlamlıdır. Hepsi bir pencere sistemini temsil ediyor . Pencereleme Sistemi, bir kullanıcı arayüzü için WIMP (pencereler, simgeler, menüler, işaretçi) paradigmasını uygulayan bir tür grafik kullanıcı arayüzüdür (yukarıda bahsettiğim gibi GUI).

İşte hem Linux ve Windows sistemleri için önemli pencere sistemlerinin bir listesidir.

Herhangi bir pencereleme sisteminin ana bileşeni genellikle görüntüleme sunucusu olarak adlandırılır (pencereleme sistemi bir tür GUI olduğu ve ekran sunucusu herhangi bir GUI'nin anahtar kısmı olduğu için sürpriz değildir), ancak pencere sunucusu veya besteci gibi diğer adlar da kullanılır.

GUI'sini çalıştıran ve sunan herhangi bir uygulama , görüntüleme sunucusunun bir istemcisidir . Görüntü sunucusu ve istemcileri, genellikle görüntü sunucusu protokolü adı verilen bir iletişim protokolü üzerinden birbirleriyle iletişim kurarlar ; görüntü sunucusu, istemciler ve kullanıcı arasında aracıdır. Görüntüleme sunucusu, çekirdeğin klavye, işaret aygıtları veya dokunmatik ekran gibi bağlı tüm giriş aygıtlarından aldığı tüm girişleri alır ve doğru istemciye iletir. Görüntüleme sunucusu, istemcilerin bilgisayar monitörüne çıkışından da sorumludur. Bir ekran sunucusu protokolüağ özellikli, hatta ağ şeffaf olabilir. (Gördüğünüz gibi, aslında sadece veri akışı ve yönlendirme ile ilgilidir, görsel veriler hala veridir.)

Ve buraya göre :

X Sunucusu, diğer programlara görüntüleme ve kullanıcı giriş hizmetleri sağlayan bir programdır. Buna karşılık, bir dosya sunucusu diğer programlara dosya depolama aygıtlarına erişim sağlar. Dosya sunucuları genellikle uzak bir konumda bulunur ve dosya sunucusunun hizmetlerini bulunduğunuz makineden kullanırsınız. Buna karşılık, bir X Sunucusu genellikle bulunduğunuz makinede çalışır ; ekran ve kullanıcı giriş hizmetleri, makinenizde çalışan programlar ve uzak makinelerde çalışan programlar tarafından istenebilir .

Yani X şunlardan oluşur:

  • görüntü sunucusu
  • ekran sunucusu protokolü
  • gelişim için bazı kütüphaneler
  • Ve diğer şeyler

resim açıklamasını buraya girin

Buraya göre :

X, bir GUI ortamı için temel bir çerçeve sağlar: görüntüleme aygıtında pencere çizme ve taşıma ve fare ve klavye ile etkileşim kurma. X, kullanıcı arayüzünü zorunlu kılmaz - bu ayrı programlar tarafından yönetilir. Bu nedenle, X tabanlı ortamların görsel tarzı büyük ölçüde değişir; farklı programlar radikal olarak farklı arayüzler sunabilir.

Başka bir deyişle, X bir programa sadece çizim / hareket pencereleri ve giriş etkileşimi gibi temel şeyleri yapma yeteneği verir . X görsel stilleri zorlamıyor. Yani, " ... Kullanıcı arayüzlerini sunmak için uygulamalara bir standart veriyor ... " yanlış.

3. GNOME / KDE nedir

GNOME ve KDE'nin ikisi de Linux Masaüstü Ortamıdır . Masaüstü ortamı, ortak bir GUI'yi paylaşan bir işletim sisteminin üstünde çalışan bir program paketidir .

Ancak yukarıda da belirttiğim gibi, X11, bir görüntüleme sunucusu olarak, sadece Xlib veya XCB gibi bazı kütüphaneler aracılığıyla temel çizim yeteneği sağlar. X11'i bu tür kütüphaneler aracılığıyla doğrudan arabirimleyen uygulamalar, radikal olarak farklı görsel stillere sahip olabilir .

Peki ortak bir GUI nasıl oluşturulur? Widget araç setleri geliyor . Bu gibi GTK + ve Qt . Wayland ve X11 pencere sistemlerinde popülerdir .

GNOME GTK + 'yı kullanır.

KDE Qt kullanın.

Ve burada X Pencere Sistemi Masaüstü Ortamlarının bir karşılaştırması.

Özetlemek...

Kaba kavramsal bir örnek çiziyorum. İşletim sisteminin üstündeki 3 parça çok özelleştirilebilir. Bu yüzden çok fazla esneklik (karışıklık) ortaya çıkıyor.

resim açıklamasını buraya girin

1 - 13: 26 PM 21.09.2018

Ve işte QT ve GTK hakkında bazı tartışmalar (belki de bu konuya offtopik ...)


"Sunucu" teriminin kullanıcının önündeki yazılıma uygulanması, programlarının uzak bilgisayarlardaki hizmetlere istemci olmasına alışkın olan kullanıcılar için genellikle şaşırtıcıdır. Burada, uzak bir veritabanı yerel bir uygulamanın kaynağı olmak yerine , kullanıcının grafik ekran ve giriş aygıtları, kullanıcıyla iletişim kurmak için kullanıcının grafiklerini ve giriş aygıtlarını paylaşması gereken yerel ve uzaktan barındırılan X istemci programlarına yerel X sunucusu tarafından sağlanan kaynaklar haline gelir. " (bakınız wiki )
yaobin

1
Birisinin "bulunduğunuz makinede genellikle bir X Sunucusu çalışıyor" cümlesiyle karıştırılması durumunda, lütfen yukarıdaki yorumuma bakın. İnanılmaz derecede harika bir cevap verdiğiniz için @ smwikipedia teşekkürler!
yaobin

5

Xorg (ve önceki Xfree ve önceki X10 ), daha çok X Pencere Sistemi olarak adlandırılan bir protokol için bir sunucudur ; uygulamaların "ekrana" çizim yapmasına izin verir. Gnome / KDE / Xfce ve diğer pencere yöneticileri / masaüstü ortamları, X'te çalışan, sınırlar ve simgeler gibi şeyler çizen ve uygulamaların kendilerinin yapmadığı en aza indirgeyen ve en üst düzeye çıkaran özel uygulamalardır.

Ve Gnome ve KDE, MS Windows (ve Wayland'ı değişen derecelerde) üzerinde çalışabildiklerinden (veya çalıştıklarından), evet, X'ten bağımsızdırlar (veya olabilirler).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.