Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

07.07.2009, 10:28

brscan-skey per init-Script starten (Brother Drucker-Scanner-Fax-Kombi)

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?

2

07.07.2009, 10:55

Im init-Scripten sind die Umgebungsvariablen anders gesetzt, als beim manuellen Start. Ich ermute, dir fehlt $HOME. Setze diese per export vor dem start-stop-daemon, oder besser mit dem start-stop-daemon Parameter " --env HOME=VALUE".
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

3

07.07.2009, 22:48

Hey, das wars, vielen Dank. Warum steht das denn nicht in meiner Manpage?! Seltsam, das...

4

08.07.2009, 15:49

Quellcode

1
2
3
4
5
6
7
 man start-stop-daemon
/env

....
     -e, --env VAR=VALUE
             Set the environment variable VAR to VALUE.
....
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

5

08.07.2009, 20:34

Hm, liegt vielleicht an meiner deutschen Übersetzung?

Quellcode

1
2
# man start-stop-daemon | grep env
#
Naja, is ja aber auch egal, jetzt weiß ich's ja. ;-)