Bölüm bitiminde aşağıdaki konularda deneyim kazanacaksınız.
- Kiosk imajının ne olduğu ve nerelerde kullanılabileceği hakkında bilgi sahibi olmak.
- Gemstone Kiosk imajını karta yükledikten sonra grafik arayüzü bulunan bir uygulamayı sistem açıldığında otomatik başlatmak
Örnek görselleri inceleyiniz.
Cezeri Uçan Araba Komuta Kontrol Paneli
Cezeri Uçan Araba Komuta Kontrol Paneli

TOGG Uçtan Uca Sürücü Konsolu
TOGG Uçtan Uca Sürücü Konsolu

Tesla Sürücü Konsolu
Tesla Sürücü Konsolu

SpaceX Dragon Kapsülü Komuta Kontrol Paneli
SpaceX Dragon Kapsülü Komuta Kontrol Paneli

1. Özellikler
Linux sistemlerde grafik uygulamalarını çalıştırmak için birden fazla yöntem ve grafik alt sistemi bulunur. Bu yöntemler, uygulamaların görsel içeriği işleme ve ekrana yansıtma şekillerine göre farklılık gösterir.- X11 (X Window System), geleneksel ve en yaygın kullanılan pencere sistemidir; istemci-sunucu mimarisiyle çalışır ve ağ üzerinden uygulamaların görüntülenmesine izin verir.
- Wayland ise X11’in yerini almak üzere tasarlanan modern bir protokoldür ve daha basit, performans odaklı bir yapı sunar; doğrudan çekirdek modülü olan DRM/KMS ile iletişim kurarak daha az gecikmeli bir deneyim sağlar.
- DirectFB, gömülü sistemlerde sıklıkla tercih edilen hafif bir grafik kütüphanesidir ve doğrudan framebuffer üzerinden çizim yapar, bu da X11 veya Wayland gibi karmaşık katmanlar olmadan hızlı grafik işleme imkanı tanır.
- LinuxFB, doğrudan Linux çekirdeğinin framebuffer aygıtına erişen basit bir yöntemdir ve özellikle düşük kaynaklı sistemlerde kullanışlıdır, ancak gelişmiş grafik özelliklerinden yoksundur.
$HOME/.config/openbox/rc.xml
)
pencere kenarlıkları, başlık, yönetim tuşları, sürükleme, klavye kısayol tuşları vb. işlevler devre dışı
bırakılmıştır.
2. Kurulum
Hızlı Başlangıç bölümündeki anlatıldığı şekilde Gemstone’u bilgisayarınıza bağlayarak Gemstone Imager isimli uygulamayı başlatarak Operating System bölümüne tıklayınız.


Todo: Kiosk GCS
3. Konfigürasyon
X11 istemcileri
DISPLAY
çevre değişkenini kullanarak görüntünün nerede gösterileceğine karar verir.
Seri terminal ya da SSH ile bağlanıldığında DISPLAY
çevre değişkeninin manuel olarak ayarlanması gerekir.
Bu değişkenin formatı <host adı>:<görüntü sunucusu numarası>.<ekran numarası>
şeklindedir.
Görüntü sunucusu localhost’ta çalışıyorsa host adı boş bırakılır. Aşağıda örnek kullanıma yer verilmiştir.
Uç durumlar haricinde DISPLAY=:0.0
kullanımı yaygındır.- Görüntü sunucusu Gemstone kart içinde çalıştığından biz de SSH ile bu karta bağlandığımızdan host adı boş bırakılmıştır.
- Modern sistemlerde tek görüntü sunucusu çalıştığı için
0
numaralı sunucuya bağlanılmıştır. - Modern sistemlerde çoklu monitör kullanılsa bile tek sanal ekran şeklinde ayarlandığı için
0
numaralı ekrana bağlanılmıştır.
$HOME/kiosk.environment
dosyasından çevre değişkenler yardımıyla yapabilirsiniz. Bu dosyada yer alan çevre değişkenler
ve işlevleri aşağıdaki tabloda listelenmiştir.
Çevre Değişken | Varsayılan Değer | İşlev |
---|---|---|
PATH | $HOME/bin:$PATH | Uygulamaların aranacağı dizinler |
LD_LIBRARY_PATH | /usr/local/qt6:$LD_LIBRARY_PATH | Dinamik kütüphanelerin (.so) aranacağı dizinler |
KIOSK_RESOLUTION | 800x600 | Ekran çözünürlüğü |
KIOSK_REFRESH_RATE | 60 | Ekran yenileme hızı |
KIOSK_LOG_PATH | $HOME/kiosk.log | Uygulama stdout ve stderr çıktılarının kaydedileceği dizin |
KIOSK_LOG_MAX_SIZE_BYTES | 104857600 | Byte cinsinden log dosyasının maksimum boyutu |
KIOSK_BIN | kiosk | Çalıştırılacak uygulama |
$HOME/bin/kiosk
dizininde yer alır. Uygulamayı değiştirmek ya da güncellemek için
aşağıda gösterildiği şekilde
scp
ile bu dizine yeni uygulamayı gönderdikten sonra Openbox oturumunu yeniden başlatınız.
4. Mimari
Gemstone karta güç verilmesinden kiosk uygulamasının gösterilmesine kadar gerçekleşen aşamalar aşağıda listelenmiştir.- Systemd
getty@tty1
servisini başlatır. Bu servis tty1 isimli terminaldengemstone
kullanıcısına otomatik login olur. gemstone
kullanıcısının varsayılan shell’i yani/bin/bash
başlatılır.- Bash shell tarafından
$HOME/.profile
scripti çalıştırılır. Bu script içinde X11’in görüntü sunucusu olan Xserver’ı başlatanstartx
komutu yer alır. Xserver herhangi bir sebeple çökerse durum systemd journal’akiosk
etiketi ile kaydedilir vestartx
tekrar çalıştırılır. - Xserver tarafından
$HOME/.xinitrc
scripti çalıştırılır. Bu script içinde Openbox oturumunu başlatanexec openbox-session
komutu yer alır. - Openbox tarafından
$HOME/.config/openbox/autostart
scripti çalıştırılır. Bu script içindeKIOSK_BIN
çevre değişkeni ile tanımlanan uygulama çalıştırılır. Bu uygulamanın stdout ve stderr çıktılarıKIOSK_LOG_PATH
çevre değişkeni ile tanımlanan dosyaya kaydedilir. Kiosk uygulaması herhangi bir sebeple çökerse durum systemd journal’akiosk
etiketi ile kaydedilir ve uygulama tekrar çalıştırılır.