# Oyun Parkı Nedir? ​ Oyun Parkı `Pardus` kurulumunuzu etkilemeden yüklemeler yapabileceğiniz bir `Oyun Parkı`dır. Docker konteyner yapısını kullanarak Pardus `xfce` masaüstü ortamına sahip bilgisayarınızdan bağımsız bir park *(konteyner)* oluşturur. Bu oluşturulan parkı arayüz üzerinden ister `grafik arabirime` ister `terminal ortamına` tek tıkla bağlanarak anında kullanmaya başlayabilirsiniz. ### Pardus Dağıtımına Katkıları Nedir? ------ ​ Oyun Parkı Pardus kullanıcılarının kendi yüklemelerine zarar vermeden Pardusun özgür ve yenilikçi dünyasını diledikleri gibi keşfetmelerine yardımcı olur. ### Sunuma ve Demo Videosuna Nereden Ulaşılır? ------ ​ Repositorye dahil olan [OyunParkı_Nyx-Sunum.pdf](https://kod.pardus.org.tr/nyx/oyun-parki-ui/blob/main/OyunParkı_Nyx-Sunum.pdf) dosyasını indirerek sunumumuzu inceleyebilir, [Oyun Parkı Demo](https://youtu.be/0JF3dY0rKh8) adresinden videoyu izleyerek fikirlerinizi bizimle paylaşabilirsiniz. ### Oyun Parkı Hangi Parçalardan Oluşur? ------ - Oyun Parkının arayüz ve dolayısıyla ana projesinin kaynak kodlarına [Oyun Parkı](https://kod.pardus.org.tr/nyx/oyun-parki-ui) repositorysinden ulaşabilirsiniz. - Oyun Parkının Pardus ondokuz xfce imajlarının kaynak kodlarına [Oyun Parkı Imaj](https://kod.pardus.org.tr/nyx/oyun-parki-imaj) repositorysinden ulaşabilirsiniz. - Oyun Parkının Docker servisi ile iletişime geçmesini sağlayan API kaynak kodlarına [Oyun Parkı API](https://kod.pardus.org.tr/nyx/oyun-parki-api) repositorysinden ulaşabilirsiniz. ### Nasıl Kurulur? ------ ​ Bu repodaki kurulum aşamalarını incelemeden önce [Oyun Parkı Imaj](https://kod.pardus.org.tr/nyx/oyun-parki-imaj) reposundaki kurulum adımlarını takip etmeniz kurulum aşamalarını kısaltacaktır. Ardından aşağıdaki iki farklı kurulum şeklini inceleyerek sizin için en uygun kurulum metodunu seçerek kolayca kurabilirsiniz. #### Deb Paketine Nasıl Erişebilir? ------ ​ Repositorye dahil olan `oyun-parki_0.1.0_amd64.deb` dosyasını indirebilir veya [http://bit.ly/oyunparki-deb](http://bit.ly/oyunparki-deb) linkinden ulaşabilirsiniz. ------ #### Deb Paketi ile Nasıl Kurulur? ------ 1. Hazırlanmış olan deb paketini bilgisayarımıza indiriyoruz. ```bash wget https://kod.pardus.org.tr/nyx/oyun-parki-ui/raw/main/oyun-parki_0.1.0_amd64.deb ``` 2. İndirdiğimiz deb paketini bilgisayarımıza kuruyoruz. ```bash sudo apt-get install ./oyun-parki_0.1.0_amd64.deb ``` Oyun Parkını kurmak bu kadar kolay 😎. Kurulum sonrası adımlarını izleyerek pürüzsüz bir Oyun Parkı deneyimi yaşayabilirsiniz. #### Kurulumdan Sonra Ne Yapılmalı? ------ 1. Oyun Parkını açmadan önce Docker servisinin çalıştığına ve varsayılan kullanıcı için erişebilir olduğuna aşağıdaki komut ile emin oluyoruz. ```bash docker info ``` Eğer yukarıdaki aşamada docker servisinin bilgileri yerine `permission denied` hatası alırsak aşağıdaki komutları uygulamamız gerekiyor. 1. Sistemimizde `docker` isimli bir grup oluşturuyoruz. ```bash sudo groupadd docker ``` 2. Varsayılan kullanıcımızı `docker` grubuna ekliyoruz. ```bash sudo usermod -aG docker $USER ``` 3. Yaptığımız ayarların kayıt olduğuna emin olmak için Uç birim terminalimizi açıp kapattıktan 1. adımdaki `docker info` komutunun çıktısında tekrar `permission denied` hatası alırsak bilgisayarımızı yeniden başlatmalıyız. #### Yukarıdaki Adımları Uygulandı, Nasıl Çalıştırılır? ------ ​ Yukarıdaki adımları tamamlayıp Docker servisinin sorunsuz çalıştığına emin olduktan sonra başlat menüsü üzerinden veya `oyun-parki` komutu ile Oyun Parkı ile Pardusun özgür ve yenilikçi dünyasını keşfetmeye başlayabiliriz! 🥳 #### Kaynak Kodunu Derleyerek Nasıl Kurulur? ------ ​ Oyun Parkının kaynak kodlarını kullanarak kendi bilgisayarınızda derlemek isterseniz öncelikle `git` aracının yüklü olduğundan, ardından `nodejs` paketinin 16.x sürümünde olmasına dikkat etmelisiniz. Bu paketler hali hazırda bulunuyor ise 5. adıma atlayabilirsiniz. 1. İlk aşağıdaki komutu kullanarak nodesource repolarını apt kaynak listesine ekliyoruz. ```bash echo "deb https://deb.nodesource.com/node_16.x buster main" | sudo tee /etc/apt/sources.list.d/nodesource.list ``` 2. Kaynak listesine ekledikten sonra apt kaynağının gpg anahtarını bilgisayarımıza ekliyoruz. ```bash curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add - ``` 3. GPG anahtarını ekledikten ettikten sonra apt paketlerimizi güncelliyoruz. ```bash sudo apt-get update ``` 4. Paketlerin güncelleme işlemi bittiğinde aşağıdaki kod ile son sürüm nodejs paketimizi kuruyoruz. ```bash sudo apt-get install nodejs ``` 5. Nodejs paketimizi başarıyla kurduktan sonra `git` aracını kullanarak projemizi indiriyoruz ve gerekli npm paketlerini yüklüyoruz. ```bash git clone https://kod.pardus.org.tr/nyx/oyun-parki-ui cd oyun-parki-ui && npm install ``` 6. Projemize API paketini dahil etmek için src klasörüne giriyor ardından git aracı ile indiriyoruz. İndirdikten sonra gerekli npm paketlerini yüklüyoruz. ```bash cd src git clone https://kod.pardus.org.tr/nyx/oyun-parki-api cd oyun-parki-api && npm install ``` 7. Paketlerimizi yükledikten sonra projenin ana dizinine dönüyor ve electron ile kurulum aşamasına geçiyoruz. ```bash cd ../../ && npm run electron:build ``` 8. Başarıyla tamamlandığında deb paketini kullanarak Oyun Parkını bilgisayarımıza kuruyoruz. ```bash sudo apt-get install -y ./dist_electron/oyun-parki_0.1.0_amd64.deb ``` ### Peki, Yol Haritasında Neler Var? ------ ​ Oyun Parkı [Açık Kaynak Hackathon Programı](https://www.acikhack.com/) için 3-7 Mayıs 2021 tarihleri arasında kısıtlı bir zamanda geliştirilmiş bir projedir. Bu sebeple düşünülen çoğu özellik eklenememiştir. Müsait olduğumuz zamanlarda aşağıdaki yol haritasına uyarak geliştirilmeye devam edilecektir. - [x] Pardus `XFCE` masaüstü Imajı - [x] Gerçek bir Pardus deneyimi süren `XFCE` masaüstü Imajı - [x] Docker Desteği - [x] Express.js + Dockerode - [x] Vue + Electron - [x] Paylaşımlı pano - [x] Parklar ile ana bilgisayar arasında dosya paylaşımı - [ ] Podman Desteği *(Pardus dağıtımının yirmibir versiyonun çıkması ve podman desteğinin resmi olarak gelmesi beklenmektedir.)* - [ ] Yüksek FPS ve kaliteli ses aktarımı *(Podman Desteği beklenmektedir.)* - [ ] Özelleştirilmiş Spice Istemcisi *(Spice-gtk paketini forklayarak daha fazla özelliğe ev sahibi olması amaçlanmaktadır.)*