Daemon indítása avagy hol szerkesszem a Gnome indítópultot?

Fórumok

Sziasztok.

Írtam egy daemon-t. Ezt kellene nekem elindítani utoljára, mivel kell neki az X, meg user + levelezés.

Namost. a daemon parancssorból kézzel elstartol, és teszi a dolgát.

Azonban hiába veszem fel gnome-session-propertybe magától nem hajlandó elindulni. /home/user/.config/autostart

Kézzel megy, de ez így elég szovjet technológia....
Jogok rendben, már a Pán-Péter és az FBI is el tudja indítani.

szóval:
robi@iroda:~$ /mnt/Progres/progres -r //ez fut mint a marha

de ez itt meg se zizzen:
/home/robi/.config/autostart/ ban lévő desktop file

[Desktop Entry]
Type=Application
Exec=/mnt/Progres/progres -r
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[hu_HU]=Progres_reporter
Name=Progres_reporter
Comment[hu_HU]=
Comment=

Elindul a gdm, de se híre se hamva....

Hova loggol vajon ez? Hol tudom megnézni, hogy mi a pék a baja?
Előre is köszi.
Üdv.
L.

Hozzászólások

"Elindul a gdm, de se híre se hamva...."

ezek szerint már a gdm indulásakor akarod futtatni? mert a .config/autostart az a gnome session betöltésekor fog lefutni, nem a login képernyő feljövetelénél.

ha gdm-nél már futtatni szeretnéd, akkor a "/etc/gdm/Init/Default" fájlbe kell tenned a parancsot.

vagy /etc/rc.local

konkrétan mit csinál?

Szia félreértettél, illetve Én fogalmaztam idiótán.

A daemon gyakorlatilag egy szerver program, ami figyeli az időt, és lekérdezéseket futtat, majd abból html reportot készít, majd azt levélben elküldi.

Igaziból valami oknál fogva kell neki az X vezérlő. /Valszeg azért mert Indy és Zeos kompikat használtam fel benne/

Ergo az X elindulása kell. Az rc.local pont ez miatt kilőve.

Üdv.
L.

Szerintem erre gyúrjál még egy kicsit, én koncepcionális problémát látok.

Két opció van:

- a programnak _bejelentkezett_ X felhasználó (X session) kell (nyilván, mert meg szeretne jeleníteni valamit), ebben az esetben a login _után_ kell indulnia, az adott felhasználó nevében (valami .xsessionrc vagy hasonló gnome-os vívmányt kéne nézni), mert neki van joga ablakot nyitni arra az X displayre. (Tipikus felhasználás: a desktopon háttérben futó valami ablakocska, ami automatikusan elindul loginkor)

- a program bejelentkezés nélkül (leginkább a bejelentkezés helyett) szeretne valami ablakot megjeleníteni - ebben az esetben az xinit környékén érdemes nézelődni; a működés úgy néz ki, hogy nincs gdm, nincs xdm, hanem mondjuk inittab-ból indul egy xinit, az fellő egy X szervert, meg a kívánt programot. Ha kilép a program vagy az X szerver, akkor leáll az egész, az init meg újraindítja. (Tipikus felhasználás: információs kioszk)

Az a verzió is létezhet persze, hogy a szuperprogramodnak igazából nincs is szüksége X-re, mert nem akar megjeleníteni semmit, csak valami fos library-t használsz, ami akkor is kér X display-t, ha nincs rá szükség... nos ebben az esetben el kéne felejteni a fos library-ket. Persze hackként lehet a programnak futtatni egy Xvfb-t vagy Xdummy-t, ami egy sehol meg nem jelenő X szerver, amire bárki bármit rajzolhat, de ez igazából "tüneti kezelés".

A "szuperprogramomnak" kell az X mert grafikai munkát is végez a háttérben, a gépen egyéb tevékenység is folyik, mivel nem dedikált szerver. Egyszóval mindenképpen mindig van bejelentkezett felhasználó.

A dedikált szerver program indításával nincs gondom, és a libeket is átlátom a saját kis egysejtű szintemen.

A probléma megoldódott, a gond a jogokkal volt illetve bennem, mert benéztem pár dolgot. Köszönöm az építő jellegű hozzászólásokat.

irj egy start-stop scriptet

ha debiant vagy ubuntut hasznalsz:
masold be /etc/init.d konyvtarba
es update-rc.d scriptneve defaults 90 10

gondolom minden disztrohoz megvan a megfelelo parancs

Amennyiben korszerű a distro, akkor már használ upstart-ot.
Abban elég finoman lehet tuningolni, hogy mi mikor induljon.
Példákat vastagon találsz az /etc/init/ -ben és ilyesmit találtam X-re:
"start on started gdm"
GNOME-ról írtál, tehát ez szerintem passzol nálad.

--
RowCol