XMONAD'I KURMAKBircok sistemde Xmonad, dağıtımınızdaki (Debian, Ubuntu, Fedora, Arch, Gentoo, vs) bir ikili paket olarak mevcuttur. Henuz yayımlanmamış olabilecek en son duzeltmeleri ve ozellikleri kurma fırsatını kacırabileceğinize rağmen, acık ara farkla Xmonad'ı yuklemenin en kolay yolu budur.
En son ve en iyisini istiyorsanız, okumaya devam edin. Distro'dan yukleyenler bunu atlayabilir ve doğrudan Xmonad yapılandırma oğreticisine ilerleyebilir.
BAĞIMLILIKLARArxh Linux icin:
$ sudo pacman -S git xorg-server xorg-apps xorg-xinit xorg-xmessage libx11 libxft libxinerama libxrandr libxss pkgconf
HAZIRLANMABurada; yapılandırmamızın, coğu sistemde " ~/.config " konumu olan " $XDG_CONFIG_HOME " a bağlı olacağı anlamına gelen, XDG klasor spesifikasyonlarını kullanacağız. Hadi bu klasoru oluşturalım ve cd komutuyla da ona geciş yapalım:
$ mkdir -p ~/.config/xmonad && cd ~/.config/xmonad
Eğer zaten bir " xmonad.hs " yapılandırma dosyanız varsa, onu şimdi uzerine kopyalayabilirsiniz. Fakat bu dosya yoksa, aşağıdaki iceriklerle varsayılanları kullanabilirsiniz:
import XMonad
main :: IO ()
main = xmonad def
Xmonad'ın daha eski surumleri, aksine " ~/.xmonad " konumunu kullandı. Bu hÂl destekleniyor fakat XDG tercih ediliyor.
XMONAD KAYNAKLARINI İNDİRME" ~/.config/xmonad " klasorunun icine 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 surumu de secerek 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 araclarıyla ilgili karmaşıklıklardan kacınır ve Xmonad kurulumunun onemli parcalarına odaklanmamızı sağlar.
XMONAD'I DERLEMEYaygın bir şekilde kullanılan iki Haskell derleme aracı vardır: stack ve cabal-install. Her ikisi icin 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 yoneticisi 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 surumu paketlediğine bakılmaksızın, programın en son surumunde calış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 yukleyebilirsiniz (bu, stack'i dokumantasyonları vasıtasıyla yuklemenin onerilen yoludur):
$ curl -sSL https://get.haskellstack.org/ | sh
Yine başka bir yol GHCUP uzerinden olacaktır; Bunu tercih ederseniz, Rustup gibi yukleyicilere benzerdir.
YENİ BİR PROJE OLUŞTURMAKHadi bir Stack projesi oluşturalım. Zaten xmonad ve xmonad-contrib alt klasorlerini iceren " ~/.config/xmonad " şeklindeki doğru klasorun icinde bulunduğumuzdan dolayı, yeni bir stack projesi oluşturmak " stack init " komutunu calıştırmak kadar basittir.
Şuan stack xmonad ve xmonad-contrib'den " stack.yml " dosyasını uretmek icin ilgili stack ve cabal dosyalarını kullanacağına dair sizi bilgilendirmelidir.
Eğer şimdi şuanki klasorunuzu araştırırsanız (ls komutuyla), taze bir şekilde uretilmiş bir "stack.yml" dosyası gormelisiniz. " # " ile başlayan yorumları buradan kaldırdığımızda bu dosyanın anlamı şoyle gorunecektir:
resolver:
url: https://raw.githubusercontent.com/co.../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 klasorunuzdeki gercek " stack.yaml " sembolik linkini veya geleneksel bir derleme kabuğunu (Install XMonad) kullanın.
BİR ŞEYLER KURMAKBir şeyleri kurmak " stack install " komutunu yazmak kadar basittir. Bu, tum gerekli paketleri derlemekle birlikte ( stack build ) ghc'nin uygun surumunu de kuracak ve daha sonra da ilgili yurutulebilir dosyaları, ki bizim durumumuzda bu dosya xmonad'dır, " ~/.local/bin " konumuna kopyalayacaktır. Klasorun $PATH yolunuza eklendiğinden emin olun. Şimdi " which xmonad " komutu, yurutulebilir dosyayı dondermelidir. Dondermemesi yani dosyanın olmaması durumunda, xmonad'ın hala kurulu olup olmadığını paket yoneticiniz 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 goz atın tekrar.
CABAL-INSTALL KULLANARAK DERLEME*Cabal-install'u Kurma: cabal-install'ı edinmenin en basit yolu muhtemelen yine sisteminizin paket yoneticisi 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 secenektir. Ayrıca The Haskell Cabal | Overview adresine de bakın.
YENİ BİR PROJE OLUŞTURMAKHadi, yeni bir cabal projesi oluşturalım. Zaten xmonad ve xmonad-contrib altklasorlerinin bulunduğu " ~/.config/xmonad " şeklindeki doğru konumda olduğumuz icin, Cabal'a onları kullanması talimatını vereceğiz. Aşağıdaki satırı iceren " cabal.projec " adlı bir dosya oluşturalım:
packages: */*.cabal
Eğer bu adımı atlarsanız, cabal bunun yerine Hackage'deki en son surumleri kullanacaktır.
BİR ŞEYLER KURMAKCabal paket index'ini guncellemeniz, 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 " icerisine bir GHC ortamı oluşturacaktır boylece kitaplıklar yapılandırma dosyasını yeniden derlemek icin yapılandırılabilir ve ayrıca xmonad ikilisini " ~/.cabal/bin/xmonad " konumuna kuracaktır. " $PATH " değişkeninizdeki klasore 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 YONETİCİNİZ YAPMAKBu adım, dağıtımınıza ve X goruntuleme yoneticinize bağlı olarak ceşitlenebilir.
Arch Linux icin: " /etc/X11/xinit/xinitrc " dosyası; twm, xclock ve 3 tane xterm'i calıştırır ki bu durum kullanıcıların onu sadece "~/.xinitrc " konumuna kopyalayacağı ve ihtiyaca gore duzenleyeceği anlamına gelir, yani son birkac satırı "exec xmonad" satırıyla değiştirin.
Lightdm gibi ekran ya da goruntuleme yoneticilerinin " ~/.xsession " dosyasına bağlı olan kendi Xsession betikleri vardır. Diğer ekran yoneticileri ise " /usr/share/xsessions " konumu icerisinde bir girdiye ihtiyac duyar ki bu adreste bir tane bulunmaktadır: AUR (en) - xinit-xsession.
OZEL DERLEME BETİĞİEğer " xmonad --recompile (varsayılan olarak M-q tuş kombinasyonuna bağlıdır) " komutu sırasında olan şeyi ozelliştirmeye ihtiyacınız varsa; muhtemelen xmonad yapılandırmanız tamamen ayrı bir Haskell paketi olduğu icin sozum ona " build " adlı bir dosya oluşturmanız gerekir.
Bu tam olarak sadece xmonad klasorunuzdeki (bu durumda bizim icin ~/.config/xmonad dosyasıdır) " build " adlı bir shell betiğidir ki ayrıca XMONAD'a yurutulebilir dosyasını nasıl oluşturması gerektiğini soyleyen bir kabuk komut dosyasıdır.
Buna gore iyi bir başlangıc noktası ( aslında bu, Xmonad'ın bir build dosyası olmadan yapacağı şeydir, saf GHC yerine Stack GHC'yi cağırıyoruz yani ) şoyle 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 icin birkac ornek 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 klasoru icerisinde gorebilirsiniz. Eğer xmonad.hs dosyanızda ozel bağımlılıklarınız varsa, ozellikle de cabal ile onları belirtmek icin 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ı turetmek isterken takip etmesi zorlaştığında yukarıdaki " cabal install --lib " konutu genellde yeterli olmaz.
HER BAŞLANGICTA YENİDEN DERLEMEYİNBir derleme kabuğu kullanıldığında monad, varsayılan olarak her zaman kendisini derler ( derleme betiği isteğe bağlı kod icerebildiğinden boylece Xmonad.hs dosyasının değişip değişmediği hakkında basit bir kontrol mekanizması). Eğer cok sinir bozucu buluyorsanız, başlangıcta " xmonad " yerine " xmonad --recompile " komutunu yuruten " xmonad-ARCH " yurutulebilir kodunu kullanabilirsiniz. Orneğ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 " oneki " $XDG_CACHE_HOME " değişkeniyle belirtilen klasordur. Xmonad yapılandırmanız " ~/.xmonad " konumu icinde bulunuyorsa; yurutulebilir dosyanın " $XDG_CACHE_HOME " icinde değil, bu dizinin icinde de olacağını unutmayın.
Rehber XMONAD Pencere Yoneticisi kurulumu ve kullanımı
Linux0 Mesaj
●7 Görüntüleme
- ReadBull.net
- Teknoloji Forumları
- işletim Sistemleri
- Linux
- Rehber XMONAD Pencere Yoneticisi kurulumu ve kullanımı