|
| 1 | +# Telepítőarchitektúra |
| 2 | + |
| 3 | +## Tervezési célok |
| 4 | + |
| 5 | +1. Egyetlen, TEMP-be klónozható belépési pont. |
| 6 | +2. Gyors telepítés: a csomagok egy összevont APT-lépésben kerülnek fel. |
| 7 | +3. Biztonságos újrafuttatás: saját fájlok és megjelölt blokkok felülírása. |
| 8 | +4. Valódi hibakezelés: minden háttérfolyamat kilépési kódja ellenőrzött. |
| 9 | +5. Moduláris bővíthetőség. |
| 10 | +6. A kezelőpanel és az inaktív KIOSK nézet gyors, sorosított váltása. |
| 11 | +7. A Raspberry Pi OS saját kijelzőblankolásának kikapcsolása, hogy az idle oldal folyamatosan látható maradjon. |
| 12 | + |
| 13 | +## Könyvtárak |
| 14 | + |
| 15 | +```text |
| 16 | +kiosk_setup.sh Interaktív vezérlő és telepítési sorrend |
| 17 | +lib/core.sh Naplózás, kérdések, validáció, fájlműveletek |
| 18 | +modules/packages.sh APT-csomagok |
| 19 | +modules/session.sh labwc, seatd, greetd/LightDM |
| 20 | +modules/browser.sh Chromium-konfiguráció és policy |
| 21 | +modules/appearance.sh háttér, splash, kurzor, labwc autostart |
| 22 | +modules/hardware.sh bootparaméterek, kijelző, hang, CEC |
| 23 | +modules/netwatch.sh internet-watchdog |
| 24 | +templates/ telepített futó fájlok és systemd egységek |
| 25 | +tests/test.sh helyi statikus és funkcionális ellenőrzés |
| 26 | +``` |
| 27 | + |
| 28 | +## Telepítési életciklus |
| 29 | + |
| 30 | +```text |
| 31 | +preflight |
| 32 | + → összes válasz begyűjtése |
| 33 | + → URL- és értékvalidálás |
| 34 | + → terv megjelenítése |
| 35 | + → felhasználói jóváhagyás |
| 36 | + → egyesített csomagtelepítés |
| 37 | + → modulok alkalmazása |
| 38 | + → systemd- és fájlellenőrzés |
| 39 | + → opcionális reboot |
| 40 | +``` |
| 41 | + |
| 42 | +Rendszermódosítás nem történik addig, amíg az összes kérdésre nincs érvényes válasz, és a felhasználó nem hagyta jóvá az összegzést. |
| 43 | + |
| 44 | +## Kezelt konfigurációk |
| 45 | + |
| 46 | +A megosztott konfigurációs fájlokban a telepítő ezt a blokkot használja: |
| 47 | + |
| 48 | +```text |
| 49 | +# RPI_KIOSK_MANAGED_BEGIN |
| 50 | +... |
| 51 | +# RPI_KIOSK_MANAGED_END |
| 52 | +``` |
| 53 | + |
| 54 | +Újrafuttatáskor a teljes korábbi blokk törlődik, majd az új állapot egyszer kerül be. A régi `KIOSKPARANCS` blokkokat a migráció automatikusan eltávolítja. |
| 55 | + |
| 56 | +A teljesen saját fájlok `rpi-kiosk-*` néven kerülnek telepítésre, ezért pontosan azonosíthatók és biztonságosan frissíthetők. |
| 57 | + |
| 58 | +A böngészővezérlő külön work és idle profilt használ. Váltáskor az új nézet |
| 59 | +előbb elindul, majd a korábbi, PID-del azonosított folyamat szabályosan leáll. |
| 60 | +A művelet `flock` zárolást használ, így az egymásra futó idle/resume események |
| 61 | +sorban hajtódnak végre. |
| 62 | + |
| 63 | +## Új modul hozzáadása |
| 64 | + |
| 65 | +Egy új modul: |
| 66 | + |
| 67 | +1. a `modules/` könyvtárban kapjon külön fájlt; |
| 68 | +2. csak a saját, `rpi-kiosk-*` nevű fájljait kezelje; |
| 69 | +3. legyen engedélyezési és kikapcsolási útvonala; |
| 70 | +4. újrafuttatáskor ne készítsen második konfigurációt vagy szolgáltatást; |
| 71 | +5. az alkalmazás után ellenőrizze a létrehozott fájlokat/szolgáltatásokat; |
| 72 | +6. a szükséges csomagokat a `build_package_list` függvényhez adja hozzá; |
| 73 | +7. kapjon szintaktikai vagy funkcionális tesztet. |
0 commit comments