Linux, kullanıcılarına yüksek düzeyde esneklik ve özelleştirme imkânı sunan açık kaynak kodlu bir işletim sistemidir. Bu esneklik, Linux'un çeşitli bileşenlerinin bağımsız bir şekilde çalışabilmesinden kaynaklanır. Linux yapısını genel olarak şu bileşenlerden oluşur: Çekirdek (Kernel), Kabuk (Shell), Masaüstü Ortamı (Desktop Environment) ve Pencere yöneticisi (Window Manager). Şimdi kısaca bunların ne olduğuna bakalım.
Linux Çekirdeği (Kernel)
Çekirdek, bir işletim sisteminin temel bileşenidir. Linux'ta çekirdek, donanım ile yazılım arasındaki aracı rolünü üstlenir ve sistem kaynaklarını yönetir. Kullanıcı uygulamalarının donanım üzerinde çalışmasını sağlar ve bu süreçte bellek yönetimi, işlem yönetimi, dosya sistemleri ve cihaz sürücüleri (driver) gibi kritik görevleri yerine getirir.
Çekirdeğin Temel İşlevleri:
1. Bellek Yönetimi: İşletim sistemindeki RAM gibi fiziksel bellek kaynaklarını yönetir. Belleğin ne kadarının hangi uygulamaya atanacağını belirler ve gerektiğinde belleği geri toplar.
2. Süreç Yönetimi: İşletim sistemi üzerinde çalışan her bir işlem çekirdek tarafından kontrol edilir. İşlemlerin başlatılması, durdurulması ve sonlandırılması gibi işlemleri yürütür.
3. Donanım Yönetimi: Çekirdek, cihaz sürücüleri sayesinde donanım bileşenleriyle doğrudan iletişim kurar. Klavye, fare, sabit disk gibi donanımların işletim sistemiyle uyumlu çalışmasını sağlar.
4. Dosya Sistemi Yönetimi: Çekirdek, farklı dosya sistemlerini destekleyerek verilerin diskte nasıl saklanacağı ve erişileceği konusunda düzenlemeler yapar.
5. Güvenlik ve Erişim Kontrolleri: Çekirdek, kullanıcıların ve işlemlerin sistem kaynaklarına hangi ölçüde erişebileceğini belirler.
Linux çekirdeği monolitik bir yapıdadır. Bu, çekirdeğin tüm işlevlerinin tek bir büyük programda birleştirildiği anlamına gelir. Ancak modüler bir yapıda olduğu için yeni sürücüler ve bileşenler sisteme dinamik olarak eklenebilir.
Linux Çekirdeğinin Geliştirilmesi
Linux çekirdeğini geliştirmek, şimdiye kadar üstlenilen en büyük ve en karmaşık yazılım projelerinden biridir. İlk olarak 1991 yılında Linus Torvalds tarafından yayınlanan Linux çekirdeği, yazılım mühendisleri, geliştiriciler ve amatör meraklılardan oluşan özel ekipler sayesinde hemen hemen her cihazda bulunmaktadır.
Dünya çapında büyük şirketlerden, akademiden ve gönüllülerden binlerce geliştirici, Linux çekirdeğini geliştirmek için farklı zaman dilimleri ve kültürler arasında iş birliği yapmaktadır. Son 30 yılda dünyanın dört bir yanından yaklaşık 15.000 geliştirici Linux çekirdeğine katkıda bulunmuştur! (Şimdi hepsi aktif olarak katkıda bulunmuyor, ancak bu sayı hala birkaç bindir.)
Bu dünya çapındaki iş birliği, Linux çekirdeğinin başarısında etkili olmuştur. Ancak, küresel olarak dağıtılmış ekiplerle bu kadar gelişmiş, büyük ölçekli yazılımlar geliştirmek birçok zorlukla birlikte gelir.
Zaman dilimleri, diller ve kültürler arasında kodu koordine etmek, etkili bir şekilde iletişim kurmak ve üretken bir şekilde birlikte çalışmak zordur.
Masaüstü Ortamı (Desktop Enviroment)
Masaüstü Ortamı bir Linux dağıtımı seçerken belirleyici faktörlerden biridir. Masaüstü Ortamı, bir Linux dağıtımını grafiksel olarak kullanılabilir hale getiren bir uygulama ve program paketidir. Görev çubuğu, başlat menüsü, widget'lar, dosya yöneticisi, ekran kilidi, tema yöneticisi, terminal emülatörü ve daha fazlası gibi farklı bileşenleri içerir.
Farklı masaüstü ortamları bu bileşenlerin farklı setlerine sahiptir ve tüm bu bileşenler ve programlar, toplu olarak bir masaüstü ortamının benzersiz görünümünü oluşturan benzer bir görünüme ve hisse sahiptir. Örneğin, KDE (Konsole Terminal emülatörü ve Dolphin Dosya yöneticisi) ile birlikte gelirken, xfce (xfce Terminal emülatörü ve Thunar dosya yöneticisi) ile birlikte gelir. Farklı masaüstü ortamları farklı amaçlar için oluşturulur, örneğin xfce hafif bir Masaüstü ortamı olması amaçlanmıştır ve bu nedenle hafif programlar ve yardımcı programlarla birlikte gelir, KDE son derece özelleştirilebilir olacak şekilde geliştirilmiştir, oysa Cinnamon modern görünmek ve iyi bir kullanıcı deneyimi sunmak, böylece modern görünümlü programlara sahip olmak için tasarlanmıştır.
En popüler Masaüstü Ortamları GNOME, KDE Plasma, MATE, xfce, lxde, Cinnamon, Deepin olup bunlarla sınırlı değildir. Benim tercihimi soracak olursanız GNOME dur.
![]() |
GNOME |
![]() |
GNOME |
![]() |
KDE Plasma |
Masaüstü ortamı ayrıca kendi Pencere Yöneticisiyle birlikte gelir. Yani Pencere Yöneticisi Masaüstü Ortamının bir parçasıdır. Şimdi, Pencere Yöneticisinin ne olduğunu anlayalım.
Pencere Yöneticisi (Window Manager)
Pencere yöneticisi, grafik kullanıcı arayüzü (Graphical User Interface GUI) üzerinde çalışan uygulamaların pencerelerini yönetmek için kullanılan bir yazılım katmanıdır. Her uygulama penceresine, kullanıcının pencereyi yeniden boyutlandırabileceği ve yeniden konumlandırabileceği bir başlık çubuğu ve kenarlık verir. Yukarıda belirttiğim gibi, Masaüstü Ortamı kendi Pencere Yöneticisi birlikte gelir. Masaüstü Ortamı olmadan bir Pencere Yöneticisi yükleyebilirsiniz, ancak o zaman bir dosya yöneticisi, terminal emülatörü, menü çubuğu vb. gibi diğer temel bileşenleri kendiniz yüklemeniz gerekir. Esasen, bağımsız bir pencere yöneticisi kullanacaksanız, kendi benzersiz ortamınızı oluşturuyor olursunuz. Bu yola girmeye karar verirseniz, aralarından seçim yapabileceğiniz birçok seçeneğiniz vardır. Linux, kullanıcıların pencere yöneticisi seçme özgürlüğüne sahip olduğu bir sistemdir ve bu sayede masaüstü deneyimi büyük ölçüde kişiselleştirilebilir.
Pencere Yöneticisi Çeşitleri:
1. Yığınsal Pencere Yöneticileri (Stacking Window Managers):
Bu yöneticiler, pencereleri birbirinin üstüne istifleyerek yönetir. Pencereler klasik olarak fareyle taşınır ve boyutlandırılır. XFCE ve LXDE gibi hafif masaüstü ortamları bu pencere yönetimini kullanır.
2. Döşemeli Pencere Yöneticileri (Tiling Window Managers):
Döşemeli pencere yöneticileri, ekranı sabit boyutlu bölmelere ayırır ve her uygulama bu bölmelerden birine yerleştirilir. Bu yaklaşımda fareye çok az ihtiyaç duyulur; klavye kısayolları ile çalışmak daha verimlidir. Örnek olarak i3 ve bspwm verilebilir.
3. Kompozit Pencere Yöneticileri (Compositing Window Managers):
Bu yöneticiler, her pencerenin ayrı bir bellekte çizilmesini sağlar ve daha sonra bu pencereler ekran üzerinde birleştirilir. Bu, pencerelerin daha pürüzsüz bir şekilde hareket etmesine ve şeffaflık gibi efektlerin uygulanmasına imkân tanır. Compiz, bu tür pencere yöneticilerine örnektir.
Pencere Yöneticisinin Görevleri:
- Pencerelerin boyutlandırılması, taşınması ve yerleştirilmesi.
- Masaüstü alanının yönetimi.
- Uygulama pencerelerinin birbirleriyle nasıl etkileşime gireceğinin belirlenmesi.
- Klavye kısayollarının ayarlanması.
Neden bir pencere yöneticisi kullanmalısınız?
Bağımsız bir pencere yöneticisi kullanmanın, Masaüstü Ortamı kullanmaya kıyasla bazı kullanım durumları ve avantajları vardır, örneğin:
Kaynak Tasarrufu: Bir pencere yöneticisi kullanmak, bir Masaüstü ortamından daha az kaynak kullanır. Xfce gibi hafif masaüstü ortamları bile, bağımsız bir pencere yöneticisinden daha fazla kaynak kullanır.
Özelleştirme : Masaüstü ortamının aksine, pencere yöneticisi menü çubuğu, dosya yöneticisi vb. gibi temel yazılımlarla birlikte gelmez. Bu nedenle, dosya yöneticisi gibi temel yardımcı programlar için istediğiniz seçeneği yükleyebilirsiniz. Aynısını bir masaüstü ortamıyla da yapabilirsiniz, ancak buradaki fark, bir bileşene hiç sahip olmamayı seçebilmenizdir. Örneğin, hiç takvim uygulamasına sahip olmamaya karar verebilirsiniz. Bu, yerden tasarruf sağlar ve gerekli tüm bileşenleri yükleme işlemi sırasında, otomatik olarak ihtiyaç duymadığınız tüm şeyleri yüklemezsiniz. Bu da onu minimum hale getirir.
Daha hızlı iş akışı: Bir pencere yöneticisi kurmak, gerekli tüm yardımcı programları ve bileşenleri yüklemek ve yapılandırmak zaman gerektirir. Ancak bir kez yapıldığında, kurulum geleneksel bir masaüstü ortamından daha verimli olabilir. Ayrıca, birçok pencere yöneticisi kullanıcıya çok sayıda klavye kısayolu sunar. Bunları öğrenmek çok zaman kazandırabilir.
Özetle, bir pencere yöneticisi kullanmak harika, hızlı ve verimlidir. Peki bir pencere yöneticisi kullanmalı ve onu kurmak ve kullanmaya alışmak için zaman harcamalı mısınız? Hemen elirteyim ki bu herkes için değildir. Linux sistemler konusunda tecrübe gerektirir.
Bazı popüler Pencere Yöneticileri Fluxbox, Openbox, KWin, i3, bspwm, dwm ve awesome dır.
Masaüstü Ortamı Kullanmanın Avantajları
Masaüstü ortamları bir sebepten dolayı var; kullanım durumunuza ve önceliklerinize bağlı olarak kendinize uygun olanı seçebilirsiniz.
- Kullanıcı dostudurlar,
- Kurulumu daha az zaman alır,
- Masaüstü ortamının kendisinde ayarları düzenleme seçeneği sundukları için özelleştirilmesi kolaydır,
- Farklı seçenekler ve farklı dağıtımlarla, kuruluma hazır halde gelir.
Hangisini Seçmelisiniz ve Neden?
Hızlı bir şekilde başlamak istiyorsanız, Masaüstü Ortamının tam ekosistemi gibi bir Pencere Yöneticisi kurmanın zahmetine katlanmak istemiyorsanız veya yeni başlayan biriyseniz, masaüstü ortamına bağlı kalmak sizin için doğru seçenek olabilir. Öte yandan, bir süredir masaüstü ortamı kullanıyorsanız ve masaüstünüzün şişkin olduğunu hissediyorsanız ve minimal ve hızlı bir şey istiyorsanız veya düşük seviyeli bir bilgisayarınız varsa ve sisteminizin biraz ek yük alması için bazı kaynakları saklamak istiyorsanız, gidip memnuniyetle bir pencere yöneticisi kullanın, yolculuk ödüllendirici ve güzeldir.
Şunu da belirtmekte yarar var. Linux, Masaüstü Ortamı ve Pencere Yöneticisi olmadan da, yalnızca bir komut satırı arayüzüyle kullanılabilir, ancak masaüstü ortamını veya pencere yöneticisini tek başına veya hiç yüklememe seçeneğimiz var, seçim kullanım durumuna ve kullanıcının tercihine bağlı olacaktır. Linux'a aşina olmak istiyorsanız, bir pencere yöneticisi kurmak iyi bir öğrenme yolculuğu olabilir.
Sonuç
Microsoft Windows ve macOS işletim sistemleri çekirdek, masaüstü ortamı, pencere yöneticisi olarak kullanıcıya tercih sunmazken Linux işletim sistemi, kullanıcılarına geniş bir özelleştirme imkanı sunar. Çekirdek, donanımla doğrudan iletişim kurarak sistemin temel işlevlerini yerine getirirken, Masaüstü Ortamı ve Pencere Yöneticisi ise kullanıcıların masaüstü ortamını kişisel tercihlerine göre şekillendirmesine yardımcı olur. Bu yapı, Linux'u güçlü, esnek ve kullanıcı dostu bir işletim sistemi haline getirir.
Linux ile özgür günler dilerim.