Moin,
ich bräuchte ein wenig Input. Ich versuche, ein Init-Script zu schreiben, das mir das brscan-skey Tool beim Systemstart lädt, damit ich am Drucker/Scanner direkt via Netzwerk auf meinen Rechner scannen kann. Vorweg: Starte ich das Programm manuell von der Kommandozeile, geht alles, wie es soll. Aber das ist ja unsportlich!
Folgendes habe ich bisher:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#!/sbin/runscript
BRSCAN="/usr/bin/brscan-skey"
PID="/var/run/brscan-skey.pid"
depend() {
need net
}
start() {
ebegin "Starting ${SVCNAME}..."
start-stop-daemon -v --chuid jan:scanner --start --oknodo --quiet --pidfile $PID --startas $BRSCAN -- $ARGS
eend $?
}
stop() {
ebegin "Stopping ${SVCNAME}..."
$BRSCAN -t
start-stop-daemon --stop --retry 5 --oknodo --quiet --pidfile $PID
eend $?
}
|
Und jetzt die Probleme:
1.) Ich starte das Tool (vorerst) unter meinem Benutzernamen, da ich die gescannten Bilder nachher in meinem Home liegen haben möchte. (Später werde ich wohl einen extra Scanner-User anlegen.) Trotzdem versucht das Scan-Script, das von diesem Tool aufgerufen wird, um das Bild vom Scanner zu pollen, die Dateien in /root abzulegen. Die Zeile
|
Quellcode
|
1
|
output_file=`mktemp ~/brscan/brscan.XXXXXX
|
in diesem Script verursacht daraufhin einen Fehler ("Keine Berechtigung"). Da das Ding unter meinem Usernamen laufen sollte, bin ich etwas verwirrt, wieso ~ nach /root zeigt...
2.) Eine kleine Unschönheit ist, dass ich das Teil beim Stoppen per $BRSCAN -t manuell beenden muss, statt es den start-stop-daemon machen zu lassen. Ich möchte das Programm aber nicht einfach abschießen, weil ich nicht genau weiß, ob es nicht noch was aufräumen muss, und auf --signal 15 hört es nicht.
Vielleicht hat hier jemand eine Idee?