X-Plane – Linuxon

Az X-Plane az egyik legösszetettebb és legreálisabb szimulációt megvalósító, mégis egyszerű PC-n futtatható repülőgép szimulátor. Az X-Plane nem csak egy játék, hiszen sok igen komoly szimulátor motorja is egyben, amiket akár igazi pilóták kiképzésére is használnak szerte a világban. Az X-Plane már az alap telepítéssel 19 repülőgépet, és világszerte összesen több mint 34,000 repülőteret tartalmaz, lenyűgöző részletességgel.

Futtatható Windows, MAC és Linux operációs rendszereken is!

A MAC biztosan nem az én világom, és a Windows-tól is szívesen megszabadulnék, így az épp aktuális szimulátor projektemben tettem egy próbát a Linux verzióval. Ezzel - reményeim szerint - a liszenszeken lényeges mennyiségű pénzt, és végtelen mennyiségű szívást spórolhatok az szimulátor üzemben tartása során :)

Telepítés

Első lépésként érdemes elolvasni a

hardverrel szemben támasztott követelményeket!

Ezek után egyetlen telepítő állományt (.zip) kell majd letölteni, ami egyben azt is jelenti, hogy biztosan nem fog belepasszolni a csomagkezelővel telepített rendszerbe. Ez lehet jó is, mert nem disztribúció specifikus megoldásról van szó (azonban várhatóan statikusan linkelt binárisokat tartalmaz, ami adott verziójú libeket feltételez, és ezek nem biztos hogy passzolnak majd a rendszerünkben elérhető verziókkal). Egyben rossz is, mert könnyedén káoszt teremthet bármelyik disztribúció pedáns csomagkezelésében. Az eddigi tapasztalataim a kereskedelmi szoftverek Linux portjait illetőleg nem sok reményt hagytak a sikerre, így kissé szkeptikusan álltam neki a telepítésnek. Hogy megspóroljak egy csomó szívást, az Ubuntu 16.04 LTS verzióját választottam, ugyanis a fejlesztők is ezen a rendszeren készítették a játék Linux-on futó változatát. Íme a telepítés közben szerzett tapasztalatok:

  • A telepítőcsomag megtévesztésül(?) tartalmaz egy __MACOSX nevű könyvtárat, és egy szóközökkel tűzdelt - de legalább valódi 64bites programokokat tartalmazó - futtatható fájlt. Az eddig látott 32bites, és eredetileg windows-ra készült, aztán mindenféle emulátorokkal összetákolt megoldásoknál mindenképp biztatóbb azért.
  • A telepítő állományt érdemes egyszerű felhasználóként futtatni! Egy Linuxos rendszergazda viszont nem ehhez van szokva. Ez megint lehet jó - mert így biztosan nem kontárkodik bele a alap rendszerünkbe, és rossz is egyben, mert saját maga alatt viszont könnyedén tönkre vághat mindent. Éppen ezért, érdemes létrehoznunk egy kizárólag az X-Plane futtatására fenntartott felhasználót (xplane), még a telepítés megkezdése előtt!
  • A letöltött állomány szerény méretéből (~20Mb) már sejthető volt, hogy ez csak a telepítőkészlet, és a fájlok nagy részének letöltéséhez internet kapcsolatra lesz szükségünk.
  • Az alapértelmezett telepítési könyvtár (is) szóközöket tartalmaz, amiket célszerű kigyomlálni már az elején.
  • A telepítéskor lehetőségünk van kipróbálási üzemmódra is, ami nagyon dicséretes megoldás, ugyanis így nem kell vakon kifizetnünk a terméket.

Ezeket a tapasztalatokat egyetlen teszt telepítés során gyűjtöttem, és ezek alapján (újra)terveztem az éles telepítést. Tehát, alapvetően zökkenőmentesnek mondható a dolog, a Laminar Research jó munkát végzett - annak ellenére, hogy maradt még néhány apró dolog amivel megkönnyíthetné a felhasználók dolgát.

Beviteli eszközök

A Linuxon való játék nem csak azért problémás, mert nagyon kevés játék fut rajta, hanem azért is, mert a komolyabb beviteli eszközökhöz tulajdonképpen egyáltalán nincs Linuxos támogatás. Ezen projekthez egy egyedileg módosított Jeppesen FS-200, és egy Saitek Pro Flight Yoke-ot használtam. Az utóbbihoz sem kapunk támogatást a gyártótól, azonban csatlakoztatás után tulajdonképpen azonnal használható volt az X-Plane 11 alatt. Az FS-200 életre keltéséhez kellett egy-egy sor udev szabály, hogy joysztik-nak lássák az alkalmazások:

SUBSYSTEMS=="input", ATTRS{name}=="Unknown Jeppesen1", ENV{ID_INPUT_JOYSTICK}="1", TAG+="uaccess", SYMLINK+="input/js-jeppesen1"
SUBSYSTEMS=="input", ATTRS{name}=="Unknown Jeppesen 2", ENV{ID_INPUT_JOYSTICK}="1", TAG+="uaccess", SYMLINK+="input/js-jeppesen2"

Automatikus indítás

Ahogy korábban említettem, a telepítés során szerencsére nem nyúlt a rendszer egyéb elemeihez, kizárólag a saját könyvtárába pakolt fájlokat. (és a .x-plane/ könyvtárba néhány beállítást) Ez mindenképp becsülendő, azonban még egy nyamvadt indítóikont sem hozott létre, pedig ezt is simán meg lehet oldani root jogok nélkül is! Igen ez azt jelenti, hogy parancssorból - vagy a könyvtárában bogarászva a megfelelő állományra kattintgatással lehet csak elindítani.

Bár ez a hiányosság könnyen javítható, én ennél sokkal tovább mentem, és létrehoztam egy komplett  X session-t, aminek kiválasztásával belépés után - bármiféle ablakkezelő és egyéb vackok nélkül  - egyből az X-Plane fog elindulni teljes képernyős üzemmódban. Ezzel a módszerrel indítva gyorsabb is lehet a program, hiszen semmilyen szükségtelen erőforrás zabáló cucc nem fog a háttérben futni, csak maga az X-Plane. Ehhez pedig csak a következő két állományt kell létrehoznunk

'/usr/local/bin/X-Plane':

#!/bin/bash
$HOME/X-Plane/X-Plane-x86_64

'/usr/share/xsessions/X-Plane.desktop':

[Desktop Entry]
Name=X-Plane
Comment=X-Plane 11
Exec=/usr/local/bin/X-Plane
TryExec=/usr/local/bin/X-Plane
Type=Application

Ehhez a feladathoz root jogokra lesz szükség, azonban az utóbbi egy teljes értékű parancsindító, amit a saját könyvtárunkba ('.local/share/applications/') másolva "aktiválhatunk" egyszerű felhasználóként is.

Jelszómentes belépés

További kényelmi megoldás, a jelszó nélküli belépés. A szimulátornál ugyanis nem lehet mindig kezelőszemélyzet, így egyszerűbb ha nem kell ilyennel bajlódni :) Igen tudom, ez így nem "biztonságos". De ezesetben fizikai hozzáféréssel lehet csak belépni, a szimulátor helyiségbe pedig várhatóan csak az illetékesek juthatnak be. Szóval most ez nem biztonsági probléma, sokkal inkább hasznos fícsör :) Ezt a következő paranccsal tudjuk beállítani:

sudo gpasswd -a xplane nopasswdlogin

A módosítások elvégzése után, az előre elkészített felhasználónk (xplane) számára ezt az új 'X-Plane' munkamenetet kell választanunk, és simán jelszó megadása nélkül, a belépésre kattintva egyből alindul az X-Plane 11. Amint kilépünk belőle, egyből vissza is kerülünk a bejelentkező képernyőhöz.

KIOSK üzemmód

Miután megfelelően beállítottuk a szimulátort, megakadályozhatjuk hogy véletlenül elállítgassák azt, a legújabb verzióban megjelent KIOSK mód bekapcsolásával.


A cikkben olvasottak megvalósításához haladó szintű Linux ismeretek szükségesek.

Nem volt célom, hogy teljesen hozzá nem értők számára is követhető leírást készítsek, de ha felveszed velem a kapcsolatot, szívesen segítek :)