Gemenskapslösning

Bygg en pekskärmskiosk på ZimaBoard 2 med Docker, X.Org, Chromium och en lokal instrumentpanel

A detailed April 2026 community tutorial for turning a ZimaBoard 2 1664 on ZimaOS 1.5.4 into a fullscreen touchscreen kiosk. The author ran Debian/X.Org/Chromium inside Docker, exposed Intel graphics and udev input, hosted the dashboard with nginx, added a touch-event workaround, and later shared photos of the working 24/7 home-assistant setup.

Den här källan är ett tydligt exempel på att använda ZimaOS som värd för en appliance i stället för att försöka göra dess skrivskyddade systemlager till en skrivbordsdistribution. Eftersom ZimaOS saknar normal apt miljö eller ett inbyggt X.Org-skrivbord byggde författaren hela kioskstacken i Docker: Debian + X.Org + Chromium för visningen samt en liten nginx-container för den lokala instrumentpanelen.

Resultatet blev en fungerande 22-tums pekskärmskiosk ansluten till en ZimaBoard 2 1664. Detta är fortfarande ett avancerat community-bygge, inte ett skrivbordsläge som stöds av IceWhale. Det använder värdnätverk, direkt åtkomst till grafik och indata samt en privilegierad kioskcontainer, så användare bör förstå säkerhets- och enhetsåtkomstens avvägningar innan de kopierar lösningen.

Färdig 22-tums pekskärmskiosk ansluten till en ZimaBoard 2 och visar en anpassad instrumentpanel för hemmet i helskärm
Källförfattaren visade upp den färdiga kiosken, som kördes som en alltid påslagen instrumentpanel bredvid huvuddatorn.

Kiosken kör en skrivbordsmiljöstack i Docker

Källans Dockerfile utgår från Debian Bookworm Slim och installerar X.Org, libinput, Openbox, Chromium, X11-verktyg, teckensnitt och Mesa. Värden förblir ZimaOS; den grafiska användarmiljön körs i containern.

Detta är exakt den typ av arbetsbelastningsisolering som ZimaOS appliance-modell är utformad för att uppmuntra.

Intel-GPU:n exponeras för kioskcontainern

Guiden använder X.Orgs modesetting drivrutinen och skickar Intel DRM-enheten till containern. Författaren konstaterade specifikt att det nödvändiga Mesa-stödet krävde Bookworm-backports för den N100-grafikstack som användes av ZimaBoard 2.

Aktuell ZimaBoard 2-maskinvara använder en Intel N150, så den som återskapar guiden bör kontrollera aktuell Mesa-/X.Org-kompatibilitet i stället för att anta att den historiska informationen om N100 är identisk.

Pekindata kommer via värdens inmatnings- och udev-lager

Bildsignalen använde HDMI/miniDP medan pekskärmsstyrenheten anslöts via USB. Guiden granskar /proc/bus/input/devices, mappar rätt händelseenhet i X.Org och delar /run/udev så att containern kan identifiera inmatningshårdvara.

Kiosksetup med ZimaBoard 2, pekskärm, högtalare och huvuddator i samma Home Assistant-arbetsyta
Pekskärmen var en del av en större lågeffektsarkitektur där Zima förblev online och den kraftfulla huvuddatorn gick i viloläge tills den behövdes.

En separat nginx-container visar instrumentpanelen

Källan körs nginx:alpine på en port som inte används av ZimaOS (8888 i exemplet) och monterar instrumentpanelsfilerna skrivskyddat. Chromium öppnar den lokala URL:en i kioskläge.

Att använda en separat webbcontainer gör det enkelt att uppdatera instrumentpanelsfilerna utan att bygga om den grafiska containern.

Återanvänd inte ZimaOS port 80 för instrumentpanelen

Guiden påpekar uttryckligen att ZimaOS redan använder port 80 för sin instrumentpanel. Om Chromium öppnar fel sida bör du kontrollera den anpassade instrumentpanelens port och KIOSK_URL värde i stället för att ändra ZimaOS oväntat.

Författaren lade till en lösning för pekarhändelser vid pekskärmsklick

I källans instrumentpanel kunde små fingerrörelser hindra Chromium från att utlösa traditionella onclick hanterare. Författaren ersatte klickhantering med pointerup samt en rörelsetröskel.

Den JavaScript-koden är programspecifik. Moderna webbgränssnitt som är utformade för pekskärmar bör föredra pekar- och pekvänliga kontroller i stället för att globalt köra inbäddade onclick strängar.

Privilegierat läge är den största säkerhetsmässiga kompromissen

Källan startar kioskcontainern med --privileged. Det ger bred åtkomst till enheter och värdkärnan och är betydligt mer tillåtande än en vanlig instrumentpanelscontainer.

Om du återskapar bygget bör du först testa om explicita /dev/dri, indataenhets- och udev-montering samt snävt avgränsade funktioner är tillräckliga. Behåll instrumentpanelen på ett betrott LAN.

Källan använder unless-stopped för automatisk återställning

Både nginx- och kioskcontainern använder restart: unless-stopped beteende så att skärmen återkommer efter en omstart av ZimaOS. Lagra Dockerfile-filen, X.Org-konfigurationen, startskriptet och instrumentpanelen under beständig /DATA lagring.

Aktuella ZimaOS kan paketera detta mer reproducerbart med Compose

Aktuella ZimaOS stöder import av standardiserade Docker Compose-/YAML-filer. I stället för att underhålla flera långa docker run kommandon kan en avancerad användare uttrycka båda tjänsterna, omstartspolicyer, enheter, volymer och nätverk i en enda granskad Compose-fil.

Använd den aktuella ZimaOS Compose-modellen.

Stor specialbyggd stationär dator som används tillsammans med den alltid påslagna ZimaBoard 2-kiosken och hubben för hemautomation
Författarens övergripande design håller ZimaBoard 2 online dygnet runt och startar endast den strömkrävande huvuddatorn för tyngre arbetsbelastningar.

Vanliga frågor om pekskärmskiosk

Behöver ZimaOS apt eller en skrivbordsmiljö installerad på värden?

Nej. Källan håller avsiktligt X.Org, Openbox, Mesa och Chromium inuti Docker.

Är detta ett officiellt skrivbordsläge i ZimaOS?

Nej. Det är en community-byggd version som IceWhale bad om tillåtelse att dela med angivande av källa.

Varför är kioskcontainern högrisk jämfört med en vanlig app?

Källan ger den privilegierat läge samt direkt åtkomst till grafik och indata, vilket minskar Dockers isolering.