Rehber XMONAD Pencere Yöneticisi kurulumu ve kullanımı

XMONAD'I KURMAK​

Birçok sistemde Xmonad, dağıtımınızdaki (Debian, Ubuntu, Fedora, Arch, Gentoo, vs) bir ikili paket olarak mevcuttur. Henüz yayımlanmamış olabilecek en son düzeltmeleri ve özellikleri kurma fırsatını kaçırabileceğinize rağmen, açık ara farkla Xmonad'ı yüklemenin en kolay yolu budur.

En son ve en iyisini istiyorsanız, okumaya devam edin. Distro'dan yükleyenler bunu atlayabilir ve doğrudan Xmonad yapılandırma öğreticisine ilerleyebilir.

BAĞIMLILIKLAR​

Arxh Linux için:

$ sudo pacman -S git xorg-server xorg-apps xorg-xinit xorg-xmessage libx11 libxft libxinerama libxrandr libxss pkgconf

HAZIRLANMA​

Burada; yapılandırmamızın, çoğu sistemde " ~/.config " konumu olan " $XDG_CONFIG_HOME " a bağlı olacağı anlamına gelen, XDG klasör spesifikasyonlarını kullanacağız. Hadi bu klasörü oluşturalım ve cd komutuyla da ona geçiş yapalım:

$ mkdir -p ~/.config/xmonad && cd ~/.config/xmonad

Eğer zaten bir " xmonad.hs " yapılandırma dosyanız varsa, onu şimdi üzerine kopyalayabilirsiniz. Fakat bu dosya yoksa, aşağıdaki içeriklerle varsayılanları kullanabilirsiniz:

import XMonad

main :: IO ()
main = xmonad def

Xmonad'ın daha eski sürümleri, aksine " ~/.xmonad " konumunu kullandı. Bu hâlâ destekleniyor fakat XDG tercih ediliyor.

XMONAD KAYNAKLARINI İNDİRME​

" ~/.config/xmonad " klasörünün içine girin, git komutunu kullanarak xmonad ve xmonad-contrib'i klonlayın:

$ git clone GitHub - xmonad/xmonad: The core of xmonad, a small but functional ICCCM-compliant tiling window manager
$ git clone GitHub - xmonad/xmonad-contrib: Contributed modules for xmonad

Bu size en son başlığı (HEAD) verecektir; eğer istiyorsanız, taglı yani etiketli bir sürümü de seçerek alabilirsiniz:

$ git clone --branch v0.15 GitHub - xmonad/xmonad: The core of xmonad, a small but functional ICCCM-compliant tiling window manager
$ git clone --branch v0.16 GitHub - xmonad/xmonad-contrib: Contributed modules for xmonad

Kaynaklar ve ikililer genelde " ~/.config " konumuna gitmezler. Bununla birlikte, bizim durumumuzda, Haskell derleme araçlarıyla ilgili karmaşıklıklardan kaçınır ve Xmonad kurulumunun önemli parçalarına odaklanmamızı sağlar.

XMONAD'I DERLEME​

Yaygın bir şekilde kullanılan iki Haskell derleme aracı vardır: stack ve cabal-install. Her ikisi için de gerekli talimatları sağlıyoruz. Neyi tercih edeceğinizi bilmiyorsanız, daha kolay olan stack'i kullanın.

STACK KULLANARAK DERLEME​

*Stack'i Kurma: Stack'i edinmenin en kolay yolu muhtemelen sisteminizin paket yöneticisi vasıtasıyladır:

$ sudo apt install haskell-stack # Debian, Ubuntu
$ sudo dnf install stack # Fedora
$ sudo pacman -S stack # Arch

Eğer stack'i bu metod vasıtasıyla kuruyorsanız, kurulumdan sonra " stack upgrade " komutunu kullanmanız tavsiye edilebilir. Bu, dağıtımınızın aslında hangi sürümü paketlediğine bakılmaksızın, programın en son sürümünde çalıştığınızdan emin olmanızı sağlayacaktır.

Dağıtımınız stack'i paketlemiyorsa, aşağıdaki komut aracılığıyla onu kolayca yükleyebilirsiniz (bu, stack'i dökümantasyonları vasıtasıyla yüklemenin önerilen yoludur):

$ curl -sSL https://get.haskellstack.org/ | sh

Yine başka bir yol GHCUP üzerinden olacaktır; Bunu tercih ederseniz, Rustup gibi yükleyicilere benzerdir.

YENİ BİR PROJE OLUŞTURMAK​

Hadi bir Stack projesi oluşturalım. Zaten xmonad ve xmonad-contrib alt klasörlerini içeren " ~/.config/xmonad " şeklindeki doğru klasörün içinde bulunduğumuzdan dolayı, yeni bir stack projesi oluşturmak " stack init " komutunu çalıştırmak kadar basittir.

Şuan stack xmonad ve xmonad-contrib'den " stack.yml " dosyasını üretmek için ilgili stack ve cabal dosyalarını kullanacağına dair sizi bilgilendirmelidir.

Eğer şimdi şuanki klasörünüzü araştırırsanız (ls komutuyla), taze bir şekilde üretilmiş bir "stack.yml" dosyası görmelisiniz. " # " ile başlayan yorumları buradan kaldırdığımızda bu dosyanın anlamı şöyle görünecektir:

resolver:
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/17/9.yaml

packages:
- xmonad
- xmonad-contrib

" xmonad.hs " dosyasının yanısıra " stack.yaml " dosyası ile, xmonad; yapılandırma dosyasını derlediğinde veya yenide derlediğinde artık sadece " ghc " komutunu kullanmak yerine " stack ghc " komutunu kullanması gerektiğini biliyor. Eğer xmonad kaynaklarını ve stack projesini başka bir yerde tutmak istiyorsanız yine de; " xmonad --recompile " komutunu, xmonad yapılandırma klasörünüzdeki gerçek " stack.yaml " sembolik linkini veya geleneksel bir derleme kabuğunu (Install XMonad) kullanın.

BİR ŞEYLER KURMAK​

Bir şeyleri kurmak " stack install " komutunu yazmak kadar basittir. Bu, tüm gerekli paketleri derlemekle birlikte ( stack build ) ghc'nin uygun sürümünü de kuracak ve daha sonra da ilgili yürütülebilir dosyaları, ki bizim durumumuzda bu dosya xmonad'dır, " ~/.local/bin " konumuna kopyalayacaktır. Klasörün $PATH yolunuza eklendiğinden emin olun. Şimdi " which xmonad " komutu, yürütülebilir dosyayı döndermelidir. Döndermemesi yani dosyanın olmaması durumunda, xmonad'ın hala kurulu olup olmadığını paket yöneticiniz aracılığıyla kontrol edin ve gerekirse onu silin.

Eğer X11 paketini derlerken, derleme hataları alıyorsanız; gerekli C kitaplıkları kurulu olmayabilir. Yukarıya göz atın tekrar.

CABAL-INSTALL KULLANARAK DERLEME​

*Cabal-install'u Kurma: cabal-install'ı edinmenin en basit yolu muhtemelen yine sisteminizin paket yöneticisi vasıtasıyladır:

$ sudo pacman -S cabal-install

Eğer dağıtımınız cabal-install'ı paketlemiyorsa, " ghcup " paketini edinmek diğer bir seçenektir. Ayrıca The Haskell Cabal | Overview adresine de bakın.


YENİ BİR PROJE OLUŞTURMAK​

Hadi, yeni bir cabal projesi oluşturalım. Zaten xmonad ve xmonad-contrib altklasörlerinin bulunduğu " ~/.config/xmonad " şeklindeki doğru konumda olduğumuz için, Cabal'a onları kullanması talimatını vereceğiz. Aşağıdaki satırı içeren " cabal.projec " adlı bir dosya oluşturalım:

packages: */*.cabal

Eğer bu adımı atlarsanız, cabal bunun yerine Hackage'deki en son sürümleri kullanacaktır.

BİR ŞEYLER KURMAK​

Cabal paket index'ini güncellemeniz, xmonad ve xmonad-contrib kitaplıklarını derlemeniz ve daha sonra da xmonad ikilisini derlemeye ihtiyacınız olacak:

$ cabal update
$ cabal install --package-env=$HOME/.config/xmonad --lib xmonad xmonad-contrib
$ cabal install --package-env=$HOME/.config/xmonad xmonad

Bu, " ~/.config/xmonad " içerisine bir GHC ortamı oluşturacaktır böylece kitaplıklar yapılandırma dosyasını yeniden derlemek için yapılandırılabilir ve ayrıca xmonad ikilisini " ~/.cabal/bin/xmonad " konumuna kuracaktır. " $PATH " değişkeninizdeki klasöre sahip olduğunuzdan emin olun.

Eğer X11 paketini derlerken derleme hataları alıyorsanız, kurulması gerekli C kitaplıklarınız olmayabilir. Bu durumda yine yukarıdaki talimatlara bakın.

XMONAD'I PENCERE YÖNETİCİNİZ YAPMAK​

Bu adım, dağıtımınıza ve X görüntüleme yöneticinize bağlı olarak çeşitlenebilir.

Arch Linux için: " /etc/X11/xinit/xinitrc " dosyası; twm, xclock ve 3 tane xterm'i çalıştırır ki bu durum kullanıcıların onu sadece "~/.xinitrc " konumuna kopyalayacağı ve ihtiyaca göre düzenleyeceği anlamına gelir, yani son birkaç satırı "exec xmonad" satırıyla değiştirin.

Lightdm gibi ekran ya da görüntüleme yöneticilerinin " ~/.xsession " dosyasına bağlı olan kendi Xsession betikleri vardır. Diğer ekran yöneticileri ise " /usr/share/xsessions " konumu içerisinde bir girdiye ihtiyaç duyar ki bu adreste bir tane bulunmaktadır: AUR (en) - xinit-xsession.

ÖZEL DERLEME BETİĞİ​

Eğer " xmonad --recompile (varsayılan olarak M-q tuş kombinasyonuna bağlıdır) " komutu sırasında olan şeyi özelliştirmeye ihtiyacınız varsa; muhtemelen xmonad yapılandırmanız tamamen ayrı bir Haskell paketi olduğu için sözüm ona " build " adlı bir dosya oluşturmanız gerekir.

Bu tam olarak sadece xmonad klasörünüzdeki (bu durumda bizim için ~/.config/xmonad dosyasıdır) " build " adlı bir shell betiğidir ki ayrıca XMONAD'a yürütülebilir dosyasını nasıl oluşturması gerektiğini söyleyen bir kabuk komut dosyasıdır.
Buna göre iyi bir başlangıç noktası ( aslında bu, Xmonad'ın bir build dosyası olmadan yapacağı şeydir, saf GHC yerine Stack GHC'yi çağırıyoruz yani ) şöyle olurdu:
#!/bin/sh exec stack ghc -- \
--make xmonad.hs \
-i \
-ilib \
-fforce-recomp \
-main-is main \
-v0 \
-o "$1"
Bu kabuk dosyasını " +x: chmod +x build! " olarak işaretlemeyi unutnayın.
Stack ve Cabal için birkaç örnek derleme betiği xmonad-contib dağıtımında sağlanmıştır. Bunları online olarak xmonad-contrib/scripts/build at master · xmonad/xmonad-contrib klasörü içerisinde görebilirsiniz. Eğer xmonad.hs dosyanızda özel bağımlılıklarınız varsa, özellikle de cabal ile onları belirtmek için sıklıkla bir cabal.project ve bir cabal dosyası kullanmak zorunda olduğunuzdan bunları kullanmayı arzu edebilirsiniz;diğer sistemlerde yapılandırmalarınızı türetmek isterken takip etmesi zorlaştığında yukarıdaki " cabal install --lib " konutu genellde yeterli olmaz.

HER BAŞLANGIÇTA YENİDEN DERLEMEYİN​

Bir derleme kabuğu kullanıldığında monad, varsayılan olarak her zaman kendisini derler ( derleme betiği isteğe bağlı kod içerebildiğinden böylece Xmonad.hs dosyasının değişip değişmediği hakkında basit bir kontrol mekanizması). Eğer çok sinir bozucu buluyorsanız, başlangıçta " xmonad " yerine " xmonad --recompile " komutunu yürüten " xmonad-ARCH " yürütülebilir kodunu kullanabilirsiniz. Örneğin ~/.xinitrc dosyanıza " exec xmonad " kodunu yazmak yerine aşağıdaki satırı yazabilirdiniz:
exec $HOME/.cache/xmonad/xmonad-x86_64-linux
Buradaki " ~/.cache " öneki " $XDG_CACHE_HOME " değişkeniyle belirtilen klasördür. Xmonad yapılandırmanız " ~/.xmonad " konumu içinde bulunuyorsa; yürütülebilir dosyanın " $XDG_CACHE_HOME " içinde değil, bu dizinin içinde de olacağını unutmayın.
 
Son düzenleyen: Moderatör:
2 gün önce tiling WM'leri merak ettiğim için. Void denerken i3 kurdum. Vaktim olmadığından fazla özelleştirme yapmadan bıraktım. Dün ise distrotube kanalının aşağıdaki videosunu gördükten sonra xmonad ve aweome WM'lere karşı ilgim arttı. Ancak ilk kez tiling WM kullanan biri için i3 bile biraz zorluyor. İleride denemek için kaydediyorum rehberi. Paylaşım için teşekkürler.
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 
2 gün önce tiling WM'leri merak ettiğim için. Void denerken i3 kurdum. Vaktim olmadığından fazla özelleştirme yapmadan bıraktım. Dün ise distrotube kanalının aşağıdaki videosunu gördükten sonra xmonad ve aweome WM'lere karşı ilgim arttı. Ancak ilk kez tiling WM kullanan biri için i3 bile biraz zorluyor. İleride denemek için kaydediyorum rehberi. Paylaşım için teşekkürler.
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
Bspwm bakabilirsiniz. Konfigüre etmesi son derece basit.
 

Yeni konular

Geri
Yukarı