Omlouvám se, tady jsem tě zmátl, napsal jsem to moc jako zkratku. To řešení s .xsession bylo správné. Tak, jak jsi to udělal teď, to fungovat nemůže, protože se prvně spustí Xka a po jejich skončení teprve java. I kdybys Xka spustil s &, tak to fungovat nebude, protože se jednak java spustí moc rychle (Xka ještě nebudou poslouchat) a navíc nebude nastavená proměná DISPLAY.
Takže pokud bys to chtěl udělat takhle, tak do toho inittabu dát jenom "su - config startx" a do .xsession už tu aplikaci.
Anebo to udělat tak, že jako shell nastavíš uživateli config script, který spustí Xka a v nich tu aplikaci (opět pomocí .xsession). Takže to bude fungovat tak, že bude zobrazený normální login prompt a jakmile se uživatel přihlásí, spustí se mu Xka+aplikace. Výhoda tohodle řešení je v tom, že můžeš mít různé uživatele s různými aplikacemi a taky normální uživatele s normálním shellem (budeš chtít třeba funkčního roota...)
Jenom si musíš zjistit, jaká má tvoje distribuce omezení na shelly - jestli nebudeš muset tu aplikaci přidat i do /etc/shells.
Tak jsem dal do ~/.xsession
#!/bin/bash
java -jar mojeapp.jar
a do /etc/inittab
kb:2345:kbrequest:/bin/su config startx
Nyni po nabootovani kdyz zmacknu Alt+sipkaNahoru, najedou X a spusti se java aplikace. Po zavreni dojde k odhlaseni. Zkousel jsem ctrl+c a nijak nereaguje. Vypada to dobre, jenom bych nejak potreboval zajistit prihlaseni. Takhle kazdy, kdo zmackne Alt+sipkaNahoru, ziska bez hesla pristup k java aplikaci.
Pokud dam jako login shell uzivateli skript (v /etc/shells ho mam):
#!/bin/bash
startx xclock --
exit
Uzivateli po prihlaseni nabehnout X a xclock program.
Jakmile mu ale nastavim jako shell
#!/bin/bash
startx "java -jar /usr/local/bin/program.jar" --
exit
spadne to na "xterm: /usr/bin/xterm: bad command line option". Takze startx temer urcite spousti jemu zadany prikaz pres xterm, ktery nechape muj prikaz.
Co mi funguje:uzivatel
config ma shell
/usr/local/bin/mojeapp:
#!/bin/bash
startx /usr/local/bin/mojeapp2 --
exit
a v
/usr/local/bin/mojeapp2 je
#!/bin/bash
java -jar /usr/local/bin/program.jar
soubor
~/.xsession uzivatel vubec nema. Komplikovane, ale funkcni.
Jen pro zajimavost: nevis, jak upravit puvodni prikaz, aby xterm pochopil parametry predane prikazu? Je zbytecne, mit 2 skripty.
Distribuce je Debian 7.5.0.