Linux'ta Wayland Nedir ve X'ten Farkı Nedir?

Yayınlanan: 2023-07-17
System76 Gazelle dizüstü bilgisayarda Dosya Yöneticisi açık
Hannah Stryker / Nasıl Yapılır Geek
Wayland, Linux dağıtımları için bir yedek pencereleme sistemidir. Eskiyen X11 standardının yerini alır. Onunla çalışmak için uygulamaların değiştirilmesini gerektirdiğinden, benimseme şu ana kadar yavaş olmuştur. Yazma sırasında, artırılmış güvenlik, X11'e göre ana avantajdır.

X11 veya X Pencere Sistemi, grafik masaüstü ortamınızın pencereleri görüntülemesini ve kontrol etmesini sağlar. Wayland, X11'in yerini alıyor. Daha hızlı ve daha güvenli olacak şekilde tasarlanmıştır. İşte onlar hakkında bilmeniz gerekenler.

İçindekiler

Wayland nedir?
X'in Birçok Adı
X11 Nasıl Çalışır?
Wayland Nasıl Çalışır?
Wayland'ın Uygulamalar Tarafından Yavaş Kabulü
Wayland mı yoksa X11 mi kullanıyorsunuz?
Wayland mı yoksa X11 mi Kullanmalısınız?

Wayland nedir?

Wayland, on yıllardır Linux'ta varsayılan pencereleme sistemi olan X11'in modern bir alternatifidir. Wayland bir iletişim protokolüdür ve bir X Window görüntüleme sunucusu ile istemci uygulamaları arasındaki mesajlaşmayı tanımlar. Wayland projesi, uygulamaların protokolü kullanmasını sağlayan istemci ve sunucu kitaplıkları sağlar.

Wayland projesi, 2008 yılında bir Red Hat geliştiricisi tarafından başlatıldı.

X'in Birçok Adı

X Pencere Sistemi, ilk olarak 1984 yılında Massachusetts Institute of Technology tarafından Unix için piyasaya sürülen bir pencereleme sistemidir. Uygulamalar, kullanıcı arayüzleri oluşturmak için pencereleme sistemi tarafından sunulan işlevsellik üzerine inşa edilebilir.

1987'de X Pencere Sistemi sürüm 11'e ulaştı ve X11 olarak tanındı. Artık X.Org Vakfı tarafından yönetilmektedir. 1987'den beri birçok küçük sürüm olmasına rağmen hala 11. sürümde. Yazma tarihi itibariyle, mevcut kararlı sürüm X11R7.7'dir.

İsimdeki “X”, Romen rakamlarında on anlamına gelmediği gibi “Xtra”, “Extended” veya buna benzer bir şey anlamına da gelmez. Önceki bir pencereleme sistemine "pencereler" için "W" adı verildi ve yeni projeye başladıklarında alfabedeki bir sonraki harfe geçtiler.

X Pencere Sisteminin "X", "X11", "Xorg", "X Windows" ve "X Pencere Sistemi" olarak anıldığını duyacaksınız.

X11 Nasıl Çalışır?

X Pencere Sistemi, fare ile etkileşim ve pencereleri çizme ve taşıma gibi düşük seviyeli olayları ve ilkelleri işler. Uygulamalar görselleri ve arayüz tasarımını yönetir. Pencerelerin görünümü, sahip oldukları düğmeler ve bu düğmelerin nerede bulunduğu, uygulama programcısının yaptığı seçimlerdir. X Pencere Sistemi ortaya çıkan tasarımı ekrana çizer.

X11, çalışan bir X Pencere Sisteminin çeşitli bileşenleri arasında geçmesi gereken iletişim için bir tanım sağlar. Bu iletişim, X özellikli bir uygulamanın pencerelerini ve arabirim öğelerini çizmek için kullandığı kod uygulamanın içinde olmadığı için gereklidir. Bu iş, bir X sunucusu ile Pencere Yöneticisi arasında paylaşılır.

Uygulamalar, X sunucusunun istemcileridir. Pencere Yöneticisi, özel bir istemci türüdür. X sunucusu, kaynakları yönetmekten, çizim isteklerini yürütmekten ve uygun uygulamalara tuş basmaları ve fare tıklamaları gibi olayları sıralamaktan sorumludur.

Aynı zamanda Pencere Yöneticisi ile uygulamalar arasındaki iletişimde aracı görevi görür ve bunlar arasında gidip gelen mesajlara aracılık eder. Pencere Yöneticisi, uygulamaların açtığı pencerelerin, ekranda nerede oldukları, boyutları, üst üste gelip gelmedikleri vb. bir listesini tutar.

Birleştirme Pencere Yöneticisi, her pencere için ekran dışı bir arabellek tutar. Bu arabellekleri, ekrana yazılan tüm masaüstünü temsil eden en üstteki pencereyi temsil eden tek bir görüntüde birleştirir.

GNOME ve KDE dahil olmak üzere tüm modern grafik masaüstü ortamları, birleştirme Pencere Yöneticilerini kullanır.

Wayland Nasıl Çalışır?

Wayland, X11'in sorunlarını çözmeyi amaçlamaktadır. X11 mimarisi çok fazla mesajlaşma gerektirir. X sunucusu, istemciler ve Pencere Yöneticisi arasında yer alır. Aynı zamanda her şey ile -çekirdek aracılığıyla- grafik donanımı arasında yer alır. Mesajlaşma hacmi, gecikmeye ve gecikmeli, ürkek bir görsel deneyime yol açabilir.

Büyük bir kod tabanı da var. İstemcilerin kullandığı sunucu uygulaması, Pencere Yöneticisi uygulaması ve X11 kitaplığı var. Kod tabanınız ne kadar büyük (ve eskiyse), bakımı o kadar zor olur ve eski kodla o kadar çok mücadele edersiniz.

Wayland, mimariyi değiştirerek kod tabanını modernleştirip kolaylaştırdı, performans avantajları ve gelişmiş güvenlik sağladı.

Gerçekte, sunucuyu ve Pencere yöneticisini tek bir uygulamada birleştirdiler. Şu anda çekirdek tarafından gerçekleştirilen işlevleri gerçekleştiren tüm kodları kaldırdılar. Çabayı çoğaltmak yerine, çekirdeğin işlevselliğinden yararlandılar.

Wayland ile birleştirici ve istemci uygulaması doğrudan iletişim kurar. Birleştirici, hangi pencerelerin masaüstünde nerede olduğuna ve hangi boyutta ve durumda olduklarına ilişkin dahili eşlemesini sürdürür. Klavye, fare ve pencere değiştirme olaylarına aracılık eder ve bunları bu pencerelerin sahibi olan uygulamalara gönderir.

Uygulamalar, kullanıcı arayüzünü buna göre günceller. En büyük fark, işlemenin, bağlantılı Wayland kitaplıkları kullanılarak uygulamaların kendi içinde gerçekleştirilmesidir.

Uygulama, pencereyi tutmak için kullanılan arabelleği günceller veya yeni bir tane oluşturur ve eskisini atar. İstemci uygulaması daha sonra düzenleyiciye pencere eşlemesini güncellemesini ve yeni veya güncellenmiş video arabelleğini kullanmasını söyleyen bir bildirim gönderir.

Bu basitleştirilmiş mimari ve modern kod tasarımı, özellikle pürüzsüz ve akıcı görünen pencere yeniden boyutlandırmaları ve sürüklemeleri ile performans iyileştirmeleri sağlar.

Wayland'ın Uygulamalar Tarafından Yavaş Kabulü

Wayland, Debian 10 ve üzeri, Fedora 34 veya üzeri, Ubuntu 18.04 veya üzeri ve Arch Linux gibi diğer dağıtımlarda varsayılan pencereleme sistemidir. Buna rağmen, Wayland çoğu zaman X11 uygulamalarını çalıştırır.

X11 uygulamalarının Wayland altında çalışmasına izin veren XWayland adında bir uyumluluk katmanı vardır. X11 uygulamalarının çoğu değiştirilmediğinden ve Wayland'a taşınmadığından bu gerekliydi.

GNOME gibi Wayland derleyicileri sağlayan masaüstü ortamlarında, GNOME Metin Düzenleyici ve Haritalar, Dosyalar ve Takvim gibi resmi uygulamaların tümü Wayland yerel uygulamalarıdır. Ancak X11 uygulamalarının büyük çoğunluğu hala el değmemiş, yerel X11 uygulamalarıdır.

Nvidia Açık Kaynaklı Linux GPU Sürücülerini Bir Özellik İle Piyasaya Sürüyor
İLİŞKİLİ Nvidia Açık Kaynaklı Linux GPU Sürücülerini Bir Özellik İle Piyasaya Sürüyor

XWayland ara yazılımı genellikle gayet iyi çalışır, ancak ekran kaydı gibi düşük seviyeli ekranla ilgili işlevleri gerçekleştiren bazı X11 uygulamalarında sorunlar olabilir. Wayland'ı NVIDIA ile kullanmak, X11'de olduğu kadar zahmetli olabilir, ancak günlük sürücümde NVIDIA GeForce GT 1030 GPU ile kullanırken hiçbir sorun yaşamadım.

X11 uygulamalarının bazı yazarları, uygulamalarının XWayland ile iyi çalıştığını umarlar ve onları Wayland uygulamalarına dönüştürmek zorunda kalmazlar. Yeni uygulamaların benimsediği, ancak mevcut X11 uygulamalarının çoğunun olduğu gibi kaldığı ve umutlarını XWayland'a bağladığı için Wayland'e alışma ve geçiş uzun ve yavaş olursa şaşırmayın.

İLGİLİ: Ubuntu 21.04 'Hirsute Hippo'daki Yenilikler

Wayland mı yoksa X11 mi kullanıyorsunuz?

Başlıca Linux dağıtımlarından birini kullanıyorsanız, muhtemelen Wayland'ı zaten kullanıyorsunuzdur. Aşağıdaki komutu vererek kontrol edebilirsiniz.

 yankı $XDG_SESSION_TYPE

Wayland kullanan bir sistemde çıktı şöyle olacaktır:

Ve X Pencere Sistemini çalıştıran bir sistemde şunları göreceksiniz:

Nadiren, XDG_SESSION_TYPE ortam değişkeni ayarlanmamıştır. Bu durumda, bunun yerine bu komutu kullanabilirsiniz:

 loginctl show-oturum $(loginctl show-user $(whoami) -p Ekran --değer) -p Tür --değer

İç içe geçmiş loginctl komutu, adlandırılmış kullanıcının özelliklerini göstermek için show-user komutunu kullanır. whoami komutu bize mevcut kullanıcının adını verir. -p (özellik) seçeneği, loginctl gelen çıktıyı "Görüntü" ayarıyla ilgili bilgilerle sınırlar ve --value seçeneğini yalnızca değeri döndürmek için kullanırız. loginctl gelen yanıtta “Display=” dizesine sahip olmak istemiyoruz. Tüm bunlar bize bir oturum kimliği verir.

Oturum kimliğini dıştaki loginctl öğesine iletiriz ve oturumun özniteliklerini görüntülemek için show-session komutunu kullanırız. Çıktıyı oturum türüyle ilgili bilgilerle sınırlamak için -p (özellik) seçeneğini, değeri “Type=” etiketi olmadan göstermek için --value seçeneğini kullanıyoruz.

Wayland kullanan bir bilgisayarda şunları görürsünüz:

Wayland veya X11'in kullanımda olup olmadığını belirlemek için Fedora Linux'ta loginctl komutunu kullanma

X Pencere Sistemini çalıştırıyorsanız şunları görürsünüz:

Wayland veya X11'in kullanımda olup olmadığını belirlemek için Manjaro inux üzerinde loginctl komutunu kullanma

Wayland'ı mı yoksa X11'i mi Kullanmalı?

Sorun yaşamadığınız sürece, halihazırda kullandığınız şeye bağlı kalabilirsiniz. Ancak dengesizlikler veya sarsıntılı ekran güncellemeleri fark ederseniz, kullanmadığınız hangisine geçmeyi deneyebilirsiniz.

GNOME'da, geçiş yapmak ve diğer sistemi denemek isterseniz, oturum açma ekranında kullanıcı adınıza tıklayın ve ardından ekranın sağ alt köşesindeki dişli çark simgesine tıklayın.

GNOME'da Wayland veya X11 tabanlı bir masaüstü deneyimi seçmenizi sağlayan açılır menü

Bir menü size GNOME'un farklı versiyonlarını sunacaktır. “Xorg”dan bahseden seçenekler X Pencere Sistemini kullanır ve Wayland kullanmayanları kullanır.

İLGİLİ: Linux'ta Ortam Değişkenleri Nasıl Listelenir