Grafik Kullanıcı Arabirimini Kurmak

Raspberry Pi’a kurulabilecek iki resmi dağıtım vardır: Raspberry Pi OS ve Raspberry Pi OS Lite. Raspberry Pi OS, Raspberry Pi için özel olarak geliştirilmiş, başarılı bir grafik masaüstü ortamı sunan PIXEL (Pi Improved Xwindows Environment Lightweight) ile gelir. PIXEL masaüstü ortamı, işletim sisteminin görsel kullanıcı arayüzünü oluşturur (GUI). Bu arayüz Raspbery Pi’a yeni başlayan kullanıcıların hızlıca kullanmaya başlamalarını sağlamak açısından çok kullanışlıdır.

Grafik kullanıcı arabirimi, Raspberry Pi bilgisayarlarının sunucu veya elektronik kontrol amacıyla kullanıldığı görevlerde pek tercih edilmez. Raspberry Pi, genellikle bu görevlerde ağa bağlı çalışarak, uzak kullanıcılara çeşitli hizmetler sunar veya bağlı donanımları yönetmek için görev yapar. Bunun gibi durumlarda; çoğunlukla Raspberry Pi bilgisayarının başında bulunmaya gerek olmadığından grafik masaüstü pek tercih edilmez. Diğer taraftan; hiç kullanılmayacak olan bu özellik fazladan işlemci ve bellek kullanımına da neden olur. Bu nedenle sadece temel paketleri içeren ve daha az donanım kaynağına ihtiyaç duyan Raspberry Pi OS Lite dağıtımı tercih edilir.

Bir headless kurulumun ardından dilediğiniz zaman grafik kullanıcı arabirimini de kurabilirsiniz. Bunun için Raspberry Pi bilgisayarına klavye, fare ve bir HDMI monitör bağlamalısınız.

Bu kısımda Raspberry Pi’ın resmi Linux dağıtımı olan Raspberry Pi OS için tavsiye edilen masaüstü ortamı olan PIXEL’in kurulumu yer almaktadır. Kuruluma başlamadan önce raspi-config aracını kullanarak dosya sistemini diskin tamamını kullanacak şekilde genişletmenizi tavsiye ederim (Bunun için Dosya sistemini genişletmek başlıklı konuya bakabilirsiniz). Keza, grafik kullanıcı arabiriminin paketleri sistemde yaklaşık olarak 700 MB yer kaplayacak. Daha sonra, grafik kullanıcı arabirimi kurulumuna başlamadan önce, işletim sistemini güncellemek için aşağıdaki komutları sırasıyla uygulayın:

Grafik kullanıcı arabirimini yüklemek 4 ana adımda gerçekleştirilir. Bunlar:

  1. xOrg görüntüleme sunucusunun (X Server) kurulumu
  2. xinit pencere sistemi ön yükleyicisinin kurulumu
  3. PIXEL masaüstü ortamının kurulumu
  4. Grafik kullanıcı arabiriminin başlatılması

X görüntü sunucusu ve grafik masaüstü kurulumu

Linux ilk çıktığı yıllarda metin tabanlı komut arabirimleri aracılığıyla kullanılıyordu ve yönetiliyordu. Günümüzde ise gelişen ve ucuzlayan CPU ve GPU gibi donanımlar sayesinde grafik tabanlı kullanıcı arabirimine sahip bilgisayarlar çoğunluğu teşkil etmekte. Windows ve MacOS sistemler buna iyi birer örnektir.  Buna rağmen grafik arayüze sahip bir işletim sistemi kullanıcı etkileşiminin gerekmediğ bilgisayar görevleri için hala daha gerekli kabul edilmemekte, grafik arabirimi bir fazlalık olarak görülmektedir. Örneğin web, mail veya ftp gibi sunucu amaçlarla çalışan bilgisayarların konsollarının başında bir kullanıcı sürekli olarak bulunmaz. Bu sistemler bir kere çalışmak üzere yapılandırıldıktan sonra uzun süre monitör ve konsola ihtiyaç duymadan görevlerini yerine getirirler. Büyük şirketlerin (Google, Amazon, Apple) onbinlerce bilgisayardan oluşan sunucu ağlarını düşünün. Asıl konumuza geri dönersek, özellikle sınırlı donanım kaynaklarına sahip Raspberry Pi gibi bir bilgisayar için de bu durum son derece geçerlidir. Düzenli olarak fare, klavye ve monitör aracılığı ile kullanmayacağınız bir görev bilgisayarında grafik masaüstü çalıştırmak fazladan işlem gücüne ve enerji tüketimine neden olur ve bu çok gerekli değildir.

 Doğrudan konsol aracılığıyla kullanıcı ile etkileşim gerektirmeyen bir Linux makinesi olan Raspberry Pi’ı GUI tabanlı grafik masaüstünün çalıştığı bir yapıya çevirmek için 3 temel bileşene ihtiyaç vardır. Bunlar sırasıyla;

  1. X görüntü sunucusu (Namı diğer: X Server, X11 Server veya kısaca X) [1]
  2. X pencere yöneticisi (X Window Manager)
  3. Masaüstü ortamı (Desktop Environment)

Dilerseniz kurulumlarına geçmeden önce bu üç temel bileşenden biraz bahsedelim.

X görüntü sunucusu (X) temel olarak grafik işlemcisini (GPU) kullanarak pikseller yardımıyla programların görsel arabirimlerini ekranda oluşturan bir programdır. Donanıma doğrudan erişir. Görüntü sunucusu denmesinin nedeni ise bu işlevi ağ tabanlı olarak yani istemci-sunucu mimarisi içinde gerçekleştirmesidir. X, grafik arabirime sahip bir programın arabiriminin çıktı aygıtında (örneğin yerel veya uzak bir monitör) görüntülenmesini ve klavye/fare gibi girdilerin de programa iletilmesini sağlar.

X sunucu mimarisinde çalıştığı için programın grafik arabiriminin aynı bilgisayara bağlı bir GPU dolayısıyla monitör aracılığıyla gösterilmesini gerektirmez. Bir X (bu durumda istemci) ağa bağlı bir başka bilgisayarda çalışan X sunucusundan bunu yapmasını isteyebilir. Yani ağa bağlı bir bilgisayardan grafik tabanlı bir programın arabirimi ile etkileşime girilebilir. Bu durumda arabirimin görüntülendiği bilgisayardaki X, sunucu olarak çalışır. Çünkü programın istediği görüntüyü oluşturmak için emirler alır ve bulunduğu bilgisayarın grafik işlemcisini kullanarak görüntüyü oluşturur. Benzer mantıkla, grafik tabanlı programın arabiriminin ihtiyaç duyduğu klavye/fare girdileri başka bir X sunucusundan gönderilebilir. Yani, girdiler ağ üzerindeki farklı bir bilgisayarın klavye/fare donanınımından gelebilir. Bu durumda X, klavye/fare girdilerine ihtiyaç duyduğundan istemci olarak çalışır. Özetlemek gerekirse X sayesinde, grafik arabirimine sahip bir programla uzak bir bilgisayar kullanılarak etkileşime girilebilir. X, grafik tabanlı program, monitör ve klavye/fare’nin aynı bilgisayarda bulunduğu durumda (ki çoğunlukla durum budur) etkileşimi loopback adresi olan 127.0.0.1 üzerinden gerçekleştirir. Tahmin edebileceğiniz gibi bu etkileşimi farklı bir bilgisayara taşımak sadece bu adresin değiştirilmesi kadar kolay bir işlemdir. X yerel bir TCP portunda (6000-6063) çalışarak hem yerel bilgisayara hem de ağ üzerindeki başka bir bilgisayara hizmet verebilir/hizmet talep edebilir. Görülebileceği gibi Linux bilgisayarlarda yaygınlaşan GUI ihtiyacını gidermek için tasarlanan X server, Windows’da olduğu gibi çekirdeğe gömülmemiş, modüler bir yapıda üstelik ağ tabanlı (istemci/sunucu) bir mimaride geliştirilmiştir. Konuyu pekiştirmek amaçlı aşağıdaki iki komuta dikkatinizi çekmek istiyorum. İki komut da X server yüklü bilgisayarda grafik tabanlı komut satırı terminal aracı olan xterm’ü çalıştırmak için verilmiştir. İlk komut xterm’ü yerel bilgisayarın monitöründe görüntülerken diğeri 192.168.0.101 adresli ağa bağlı bir bilgisayarın monitöründe görüntüler. Bu bilgisayarda da X kuruludur ve gerekli izinler ayarlanmıştır.

Aşağıdaki çizimde X’in istemci ve sunucu mimarisinin etkileşimi gösterilmiştir.

X görüntü sunucusunun mimarisi

X Window Manager, grafik tabanlı programları pencereler içerisine yerleştirerek birden fazlasının aynı ekranda rahatça kullanılabilmesini sağlar. Önceki paragrafta X server’ı anlatırken grafik tabanlı programların arayüzünden bahsetmiştik. Eğer bir pencere yöneticisine sahip değilseniz birden fazla grafik tabanlı programı çalıştırdığınızda onları ekranda yerleştiremezsiniz ve boyutlarını ayarlayamazsınız. Örneğin aynı anda birden fazla program çalıştırdığınızda programlar görüntülerini birbirlerinin üzerlerine yazarlar. Benzer şekilde klavyeden bir tuşa bastığınızda bu tuşun hangi programa iletileceği belli değildir. Fare hareketleri ile hangi programın grafik arayüzünün hedeflendiği de belli değildir. Özetle X Window Manager, programları birer pencere içerisine yerleştirerek, boyutlandırılmasını, kapatılmasını ve hangi pencerenin fare ve klavye odağında olacağını belirler. Örneğin bir pencerenin başlığına fare ile tıklandığında o pencere ön plana gelerek fare ve klavyenin odağına yerleşir. Evet, gerçekten de X Window Manager’ların ilk sürümlerinde pencereyi odağa almak için gövdesine tıklatılamıyordu. X Window Manager, mevcut pencerelerin konumları, boyutları ve z-indeksleri gibi bilgileri X server ile paylaşarak program penceresinin görüntülenmesini sağlar, X server’dan aldığı klavye/fare girdilerini de pencereye ait olan programa ulaştırır.

Tekrar hatırlatmak gerekirse; X istemci/sunucu mimarisinde çalıştığından, X server uzak fare/klavyeden aldığı girdileri X Window Manager’a iletir. X Window Manager’da pencereler hakkındaki bilgileri ağ üzerinden X server’a ileterek GPU tarafından görüntünün oluşturulmasını sağlayabilir. X server görüntüyü oluşturmak ve aktarmak için C’de yazılmış kütüphane ve araçlardan oluşan X11 (X sürüm 11) adındaki araç kitini kullanır. Bu araç kiti pencere sistemi ve programın grafik arayüzünü oluşturmak ve tanımlamak için gerekli çizgi, dikdörgen, daire, renk paletleri ve fontlar gibi bileşenler için gerekli yordamları ve iletişim protokollerini barındırır. Kısaca X11 araç kiti kullanılarak X server üzerinde çalışabilecek grafik tabanlı programlar hızlıca oluşturulabilir.

X Window Manager grafik arayüzlü programların pencereler içerisinde kullanılabilmesi için temel işlevleri sağlar. Daha konforlu bir kullanım deneyimi bundan daha fazlasına ihtiyaç duyar. Örneğin gelişmiş bir menü sistemi, yardımcı programlar, oyunlar, sistem yapılandırması için araçlar, pencerelerin odaklanması ve listelenmesi için bir görev çubuğu, birden fazla sanal masaüstü ortam ve pencereler üzerinde daha fazla kontrol. Hatta masaüstünde dosya ve simgeleri bulundurabilme özelliği bile sayılabilir. Örneğin KDE ve GNOME gibi çok popüler ve gelişmiş masaüstü ortamları kendi pencere yöneticilerine de sahiptir. Birazdan Raspberry Pi’a PIXEL paketi ile yapacağımız kurulum LXDE masaüstü ortamı ve Openbox adındaki pencere yöneticisini içermektedir.

Geliştiriciler grafik tabanlı uygulamalar yazarlarken X için geliştirilmiş olan GTK+ ve Qt gibi kütüphaneleri sıklıkla kullanırlar.

X görüntü sunucusunu yüklemek için aşağıdaki komutu kullanabilirsiniz. Bu komut tavsiye edilen paketlerin haricindeki en gerekli paketleri kurar ve bu yaklaşık 500MB civarında disk alanı kaplar.

xinit pencere sistemi ön yükleyicisinin kurulumu

xinit (X Window System initializer), Xserver başlarken masaüstü ortamlarının ve pencere yöneticisinin (X Window Manager) önyüklemesini yapmak için kullanılır. xinit’i de aşağıdaki gibi yükleyin.

PIXEL masaüstü ortamının kurulumu

PIXEL, resmi dağıtım olan Raspberry Pi OS ile birlikte gelen ve masaüstü ortamı ile Raspberry Pi ’a özel uygulamaları içeren (ayarlar, görev yöneticisi, terminal ve dosya yöneticisi) bir grafik masaüstü sistemidir. PIXEL’i yüklemek için aşağıdaki paketleri kurabilirsiniz:

Grafik kullanıcı arabiriminin başlatılması

Grafik kullanıcı arabirimini (GUI) başlatmak için init komutu kullanılabilir. Dilerseniz GUI’nin Raspberry Pi’ın açılışında otomatik başlaması için raspi-config aracının “Boot options” menü seçeneğini de ayarlayabilirsiniz. Raspberry Pi’ın çok kullanıcılı grafik kullanıcı arabirimi çalıştırmak için aşağıdaki gibi, graphical çalışma seviyesi hedefine (bakınız: runlevel 5) geçiş yapabilirsiniz.

Grafik kullanıcı arabirimini kapatmak için multi-user çalışma (bakınız: runlevel 3) seviyesi hedefine geçiş yapabilirsiniz:


[1] https://en.wikipedia.org/wiki/X.Org_Server

Yazar: Özgür Koca

Yazar - Tankado.com

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.