Üdv!
Adott egy RPi, amin majd egy állandóan futó grafikus alkalmazás futna.
Azt hogyan lehet megoldani, hogy ez az alkalmazás automatikusan induljon (pl. rc.local-ba beteszem ez ok) és ne lehessen kilépni belőle?
Tehát a RPi egy céleszköz lenne, és más alkalamazást a user ne tudjon elindítani.
Azaz ablakkezelő (X) nélkül induljon a linux?
Ezzel elindul X nélkül egy X prg?
env DISPLAY=:0 XAUTHORITY=/home/whoever/.Xauthority /path/to/my/X/program
--
G.
- 5859 megtekintés
Hozzászólások
Elvileg két lehetőség van. Az általad írt indít X-et, de ablakkezelő nélkül. Ezen kívül (bár ezt még nem próbáltam), framebuffer-rel lehet megoldani, ahhoz nem kell X, de ebben a módszerben nem vagyok biztos, csak ötlet. Kiosk módra érdemes keresni, így szokták hívni azt, amit Te el szeretnél érni.
- A hozzászóláshoz be kell jelentkezni
Ezt a kiosk módot programozáskor kell kezeleni? Tehát a X grafikus prg-ban kell ezt a kiosk módot "létrehozni" ("elérni")?
--
G.
- A hozzászóláshoz be kell jelentkezni
Nem, semmi köze a programozáshoz, csak így hívják, amikor egy számítógépen fixen egy teljes képernyős program fut. Tipikusan böngészőkkel szokták, de persze más program is indítható így. A kiosk a kulcsszó, amire keresve megtalálhatod a számodra megfelelő megoldást.
- A hozzászóláshoz be kell jelentkezni
Subs!
--
Fontos! Ha berágok, nem feltétlen személyed ellen szól...
openSUSE 13.1 x86_64
- A hozzászóláshoz be kell jelentkezni
Az nem az X-re és nem az ablakkezelőkre tartozik, hogy az appodból ki lehet-e lépni. Ha nem ad rá lehetőséget, nincs teendő, ha pedig ad, az az ő hibája és baja.
Egy loopos wrapper segíthet rajta.
- A hozzászóláshoz be kell jelentkezni
Az említett módszerrel, akkor nem érdemes indítani az X-es app-ot?
env DISPLAY=:0 XAUTHORITY=/home/whoever/.Xauthority /path/to/my/X/program
Vagy pl. debian alatt a firefox kiosk indítása:
# /etc/X11/Xsession.d/99x11-common_start
exec firefox javascript:%20resizeTo\(1024,768\)
Az X-es prg-t hasonlóan kellene?
--
G.
- A hozzászóláshoz be kell jelentkezni
X-s programot X nélkül nem is igen fogsz futtatni.
az nem az X-re és nem az ablakkezelőkre tartozik, hogy az appodból ki lehet-e lépni.
Már hogy ne az X-re tartozna??
Itt (kiosk) a kilépés nem (csak) a program bezárását jelenti, hanem: ablakváltást, ablak átméretezés lehetőségét, VT váltást, X bezárást, stb.
Ezeket mind az X kezeli, nem más.
A megoldás a már többek által javasolt 'kiosk mode'.
--
zrubi.hu
- A hozzászóláshoz be kell jelentkezni
Értsd: amennyiben 1 X-app fut, és az ablakkezelő nem támogatja az átméretezést és hasonló ablakműveleteket (netán éppen rootban is fut az app), akkor az X-nek gyakorlatilag semmi teendője, és nincs felelőssége abban, hogy az a nyamvadt app hallgat a C-M-F19 kombóra mint exit parancsra.
Konkrétan az mplayert tettem rootba hajdan pontosan a fenti környezettel, mindennemű input elnyelésével. Az X-hez hozzá se nyúltam, sőt a manager se volt a legmezitlábasabb: icewm.)
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
OK, meggyőztél.
Fontos, hogy az eldobott inputot az X dobja el vagy más.
- A hozzászóláshoz be kell jelentkezni
mplayer X nélkül is fut alapból az RPI-n (tehát startx sem kell)
---
--- A gond akkor van, ha látszólag minden működik. ---
---
- A hozzászóláshoz be kell jelentkezni
Lehet hogy nem teljesen Raspberry, de én ezzel a módszerrel oldottam meg a kérdést (ötletnek talán jó lesz):
http://www.alandmoore.com/blog/2011/11/05/creating-a-kiosk-with-linux-a…
- A hozzászóláshoz be kell jelentkezni
Találtam egy ilyet:
# pl.
$ xinit /usr/bin/firefox $* -- :1
Fedora alatt kipróbáltam 2. konzolon és működött:
$ xinit /bin/google-chrome -- :1
Szépen elindult a böngésző keret, tálca nélkül. Majd amikor bezártam (ALT+F4), akkor visszakaptam a konzolon a shell-t. Erre gondoltam. :)
Érdekes, hogy Raspberry alatt elindul pl. a midori:
$ xinit /usr/bin/midori -- :0
Majd mintha belefagyna (és nem is fullscreen).
--
G.
- A hozzászóláshoz be kell jelentkezni
RPi-n az /etc/rc.local fájlba berakva szépen indul automatikusan:
sudo -u pi xinit /path/to/xapp -- :0
Kipróbáltam vlc-vel. :)
--
G.
- A hozzászóláshoz be kell jelentkezni
Kipróbáltam én is xterm-mel.
Ha a TFT-vel használom, melyen nem 90, hanem 270 fokkal forgattam el a screent, akkor a fenti parancssor az érintőképernyő újrakalibrálásával működik helyesen. Úgy látszik, hogy a t.screen minden futási szintre újrakalibrálandó.
---
--- A gond akkor van, ha látszólag minden működik. ---
---
- A hozzászóláshoz be kell jelentkezni
Szerintem egyszerűbb egy fluxbox felrakása, ott minden appnál beállíthatod hogy windowdecor nélkül, maximize-vel induljon. Ha kell, külön a pozíció is beállítható, a többiről nem is beszélve, ha mondjuk több virtual screened van.
Csak ha mondjuk nincs az rpi-hez klaviatúra csatolva és az illető programnak legördíthető menüsora sincs, a kilépés a prg-ből nehézkes lehet, nálam 2-vel volt baj, egyikhez barkácsolnom kellett egy exit gombot glade3-mal
---
--- A gond akkor van, ha látszólag minden működik. ---
---
- A hozzászóláshoz be kell jelentkezni
Fluxbox már volt, Openbox is lehet. Ott is /felhasználó/.config/openbox/rc.xml-ben szépen ki lehet írtani az ablakdekorációt, majd ugyanebben a mappában szépen beállítod az autostart fájlban, mit akarsz indítani. Sőt, az rc.xml-ben akár még az összes billentyűkombinációt is kiírthatod Openbox alól... Nálam Iceweasel, Geany eleve dekoráció nélkül fut maximált ablakmérettel. Az ablakok mérete, pozíciója is szintén itt módosítható.
http://taklertamas.blogspot.com/ ::: http://www.taklertamas.deviantart.com/ :::Be::Shell:::
- A hozzászóláshoz be kell jelentkezni
Bár nem a fő témához kapcsolódik, ez érdekes olvasmány: https://github.com/notro/fbtft/wiki/FBTFT-shield-image#touchpanel-calib…
(pl. ha a képernyőt nem 90, hanem 270 fokkal forgatod, az érintőpanel újrakalibrálása indításkor megtörténik, ha törölsz egy fájlt az /etc-ből stb.)
Tippek és trükkök a TFT-hez.
Bár a gombsor is le lenne írva szépen..
---
--- A gond akkor van, ha látszólag minden működik. ---
---
- A hozzászóláshoz be kell jelentkezni
feliratkozás
- A hozzászóláshoz be kell jelentkezni