Windows Subsystem For Linux (WSL) Nedir? Ne Değildir?

Windows Subsystem For Linux (WSL) Nedir? Ne Değildir?

Nedir Bu WSL?

Windows subsystem for Linux, adından da anlaşılacağı gibi Windows altyapısını kullanarak Linux işletim sistemlerini çalıştırmaya olanak tanıyan bir teknolojidir.

WSL haricinde, Windows ve Linux'u aynı anda kullanmak isteyenlerin yapabilecekleri;

  • Dual Boot ile aynı makinada ikinci bir işletim sistemi olarak kullanmak
  • Farklı markaların sanal makine yazılımlarını kullanmak (VMware vs)
  • Docker (Bu konu farklı bi alan olsa da, bi seçenek olarak bahsedilebilir)

Yukarıdaki yöntemler kendi içlerinde artı ve eksilere sahip.

Bunlar arasında WSL kullanmak da en iyi seçenek olmasa da, WSL 2 sürümünün de piyasaya sürülmesiyle güzel bir alternatif olduğu söylenebilir.

WSL 2

WSL şu anda bilgisayarınızın sahip olduğu Windows 10 versiyona göre ve iki ayrı sürümle kullanılabilmekte. Ayrıca istediğiniz zaman sürümler arası geçiş yapabilmektesiniz. Adından da anlaşılabileceği gibi WSL 2 en son geliştirilen özelliklerin olduğu sürüm. Aralarında büyük farklar bulunmakta.

image.png Microsoft'un da dediği gibi WSL 2 gerçek bir Linux çekirdeği kullanarak, ilk sürümüne göre daha hızlı ve stabil bir sonuç verebilmekte.

Avantajları

Kolay kurulabilir olması

Diğer seçeneklere göre hızlı bir şekilde kurup bir çok aşamayı atlayabilirsiniz.

Bir çok distro kurulumu için resmi desteğe sahip olması

Resmi olarak desteklenen Distrolar. Bunlar haricinde, resmi desteğe sahip olmasa da diğer Linux dağıtımlarını da kurmanın çeşitli yöntemleri mevcut.

Sanal Makinalara göre daha az kaynak tüketimi

WSL, sanal makinalara göre çok daha az CPU, ram ve hafıza kullanır. Bunların haricinde, direkt olarak kendi dosya sisteminiz üzerinde çalışarak, ayrı bir makina kullanmak yerine entegre olarak, Linux Command Line Toollarını kullanmanıza olanak sağlar.

VSCode Entegrasyonu

Visual Studio Code ile bir kaç eklenti sayesinde, direkt olarak çalışabilmesi ve built-in terminal kısmında kullanılabilmesi ile de çok rahat bir geliştirme ortamı sunar.

Dezavantajları

Dezavantajlarının büyük bir bölümü, WSL 2'nin çıkmasıyla yok olmuş olsa da sayılabilecek belli başlı maddeler mevcut.

GUI (Graphical User Interface) Eksikliği

WSL kullanırken, gerçek linux programlarını visual olarak kullanmanız kağıt üzerinde mümkün olsa da grafiksel olarak görmeniz desteklenen sürümde mevcut değil. Bunu yapmanın belli başlı yolları olsa da, gerekli kaliteyi ve rahatlığı sağlamakta. Ancak bundan bir kaç ay önce Twitter üzerinden WSL projesini yöneten Craig Loewen belirttiğine göre bu tarz bir özelliği yakın zamanda ekleme çalışmaları varmış.

Yaygınlık Durumu

Sektörel bazda baıldığında genel olarak tercih edilen bir yöntem olarak hâlâ pek yaygın olduğu söylenemez. Bu durumun en büyük eksisi, karşılaştığınız yada karşılaşabileceğiniz sorunlarda bulabileceğiniz çözüm sayısının azlığı denebilir. Ancak çok dinamik ve hızla büyüyen bir topluluğa sahip.

Ne Değildir?

  • Asla gerçek bir Linux deneyimi değildir (Belki de şimdilik).
  • Stabil değildir. Eğer deneyimli bir kullanıcı değilseiniz önerilmez.
  • Sanal Makina yazılımlarıyla uyumlu olmayabilir.
  • WSL 2 ile birlikte, sanal makina değildir, gerçek bir linux çekirdeği kullanır.

Bu kısım için WSL FAQ sayfası da bir çok soruya yanıt vermekte.

Kurulum

Kurulumu bu yazıda tekrar anlatmak yerine, internette bolca bulunan kurulum ile ilgili kaynaklardan faydalanabilirsiniz. Ayrıca Microsoft'un kendi WSL dökümantasyon sayfası da yeterince sade şekilde hızlı bir başlangıç için güzeldir.

Microsoft Dökümantasyonu Bu link üzerinden girdiğiniz zaman, eğer bu yazıyı ileride okuyarsanız ileriki Windows sürümlerinde, Powershell'e wsl.exe --install yazmanız hem direkt WSL-2'yi hem de default olarak bir ubuntu sürümünü indirir. Ancak şu anda bu kısayol sadece Windows Preview modunda mecvut.

Türkçe Kurulum için güzel bir kaynak

Bu aşamaları gerçekleştirdikten sonra bilgisayarnızda dosya gezgininde veya masaüstünüzde shift + sağ tık ile aşağıdaki ekranı göreceksiniz. image.png Kırmızı ile işaretlenmiş kısma tıkladığınız zaman, direkt olarak size o dosya dizininde default WSL distronuzun terminalini açacak ve o dizin üzerinde direkt kullanmaya başlayabilceksiniz.

VSCode Entegrasyonu

Uzunca bir sublime-text maceramdan sonra geçiş yaptığım VSCode ile WSL mükemmel bir uyum içerisinde çalışabilmekte.

VSCode WSL Entegrasyonu Bu linkte direkt Microsoft tarafından hangi adımları izlemeniz gerektiği güzel bir şekilde anlatılmakta. İşin en sade hali ile, İlk kurulumu eğer sıkıntısız halledebildiyseniz, Terminaliniz açıkken bulunduğunuz konumda VSCode'u çalıştırmak içijn code . yazmanız yeterli. Gerekli eklentileri siz VSCode a girdikten sonra sizin indirmeniz için sağ alt kısımdan önerecek.

Bu aşamaları hallettikten sonra, VSCode içerisinde bulunan Built-in terminal ile indirmş olduğunuz terminal senktron bir şekilde çalışarak güzel bir gelitşirme ortamı sizin için hazır olmuş olacak. VSCode üzerinde yeni terminal açmak için ctrl + shift + " tuş kombinasyonunu yapabilir yada aşağıdaki resimdeki gibi yapabilirsiniz.

image.png

Windows Terminal

İlk işlemlerden sonra açtığınız Bash tema olarak ve yazı fontu olarak pek göze hitap etmemekte. Bunun haricinde işlevsellik olarak biraz hantal kalabilmekte. Windows Terminal ise Microsoft Store üzerinden indirebileceğiniz ve yine Mİcrosoft'un yakın zamanlarda piyasaya yeni sürümünü sürdüğü ve halâ geliştirlmesine devam edilen açık kaynak kodlu tüm terminallere hükmeden tek bir terminal yazılımı.

image.png

Windows Terminal, normalde sağ tık yaptığınız zaman bulunan kısımda açılmak için bir özelliğe sahip değil ancak küçük bir kayt defteri oynamasıyla bunu gerçekleştirebilirz. Bu linkte güzel bir şekilde anlatılıyor.

Sonuç

Genel olarak WSL, Microsoft'un Linux'a yakınlaşmasının güncel ve tatlı bir meyvesi. Ben de bu meyvenin ne kadar olgunlaşacağını ve en son ne şekil alacağını merak etmekte ve güncel bir şekilde takip etmekteyim.

Yazımı okuğunuz için teşekkür ederim.