program automatikus indítása

Fórumok

Remélem tudtok segíteni. Adott egy LCD kijelző, amit az LCDproc nevű programmal működtetek. A fő gondom, hogy hiába van az init.d könyvtárban az indításhoz szükséges LCDd script, mégis mindíg kézzel kell indítanom minden egyes bootolás után.
Elvileg az itt található readme szerint ez így működik:

"As Puppy just runs the minimum required services, not requiring any user
intervention, Puppy does not have any services management.
At bootup, the /etc/rc.d/rc.local0 script will run all scripts found in
/etc/init.d/, with the commandline parameter 'start'.
At shutdown, the /etc/rc.d/rc.shutdown script will run all scripts found in
/etc/init.d/, with the commandline parameter 'stop'."

Igen ám de csak akkor indul el az LCDd ha start paraméter nélkül indítom, különben hibaüzenettel elhasal. Nem kell neki a start paraméter:

"Non-option arguments on the command line. Critical error while processing settings, abort."

Ki lehet ezt védeni?

Hozzászólások

Módosítsd a script-et. Ahogy nagymamám mondaná, csináld úgy, hogy jó legyen :)

Sajnos nem értek az ilyesmihez.Légyszíves segíts ha te tudod mit kell átírni! Itt a script:

#!/bin/sh
#
# chkconfig: 345 98 05
# description: It's cute
# processname: LCDd
# configfile: /etc/lcdproc.d/LCDd.conf

# Source function library.
. /etc/rc.d/init.d/functions

LCDD_CONFIG=/etc/lcdproc/LCDd.conf
LCDPROC_CONFIG=`cat /etc/lcdproc/lcdproc.conf`

RETVAL=0

# See how we were called.
case "$1" in
start)
gprintf "Starting LCDd: "
daemon LCDd -c $LCDD_CONFIG
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/LCDd
nice -n 10 lcdproc $LCDPROC_CONFIG &
echo
;;
stop)
gprintf "Stopping LCDd: "
killall lcdproc
killproc LCDd
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/LCDd
echo
;;
status)
status LCDd
status lcdproc
RETVAL=$?
;;
restart)
$0 stop
$0 start
;;
*)
gprintf "Usage: LCDd {start|stop|status|restart}\n"
exit 1
esac

exit $RETVAL

én nem értek a scriptekhez meg az init.d-hez, de én régi dos-os beidegződéssel csinálnék egy indító scriptet, pl. LCDd_init néven, és ezt raknám az init.d-be a rendes indító parancs helyett. és ez az új script egyszerűen elindítaná a rendes LCDd-t paraméterek nélkül és ez az indítóscript nagy ívben szarna a start paraméterre...

Mit kell írni egy ilyen scriptbe? Hogy kell ilyet csinálni?
Köszi

RÁNÉZÉSRE jó a szkript. Indítható? (chmod 755 /etc/init.d/LCDProc)

Először is próbáld ki kézzel!


/etc/init.d/LCDProc start ; echo $?
/etc/init.d/LCDProc status ; echo $?
/etc/init.d/LCDProc stop ; echo $?
/etc/init.d/LCDProc  ; echo $?

Köszönöm a segítséget.
Végül is egy csúnya de működő megoldást találtam ki: a Puppy Linuxhoz létezik egy autostart mappát létrehozó segédprogram, ennek a segítségével közvetlenül indítottam el az LCDd binárist. Remélem segítek annak akinek estleg hasonló gondja lesz.
Egyébként a program egy netrádióban üzemel amit pendrivera telepített Puppy Linux + XMMS segítségével valósítottam meg. Így nem kell hallgatnom a winchesterzajt a rádióhoz.

Az init script alapján a következő a gond:

LCDD_CONFIG=/etc/lcdproc/LCDd.conf
LCDPROC_CONFIG=`cat /etc/lcdproc/lcdproc.conf`

daemon LCDd -c $LCDD_CONFIG
nice -n 10 lcdproc $LCDPROC_CONFIG &

Most vagy az LCDd vagy az lcdproc siránkozik, hogy rosszak a parméterek.

Probáld ki a következőket:

daemon LCDd -c /etc/lcdproc/LCDd.conf
lcdproc `cat /etc/lcdproc/lcdproc.conf`

Lehet, hogy előtte ki kell lőni, ha már fut, különben amiatt fog sírni.

Amelyik siránkozik, annak nézd meg a paraméterül kapott fájlok tartalmát, mert ott van a hibaüzenet alapján ("Non-option arguments on the command line. Critical error while processing settings, abort.") rossz paraméter. Nagy valószínűséggel a másodiknál.

--
The Net is indeed vast and infinite...
http://gablog.eu