Guten Morgen,
Ich bin Windows gewöhnt, und da ist sowas eben super-simpel, daher hab ich gedacht, beim hochgelobten Linux wär es ähnlich.
Ich hab damals extra eine Dreambox gekauft, WEIL das System modifizierbar ist, das sollte also nicht das Problem sein (hoffe ich mal).
Es ist auch bei Linux völlig simpel, wenn nicht sogar einfacher, sofern man die Architektur von Linux verstanden hat.
Klar, bei Windows geht Drag&Drop - bei Linux kann man aber gezielt etwas definieren, wo man bei Windows eben nicht weiß, was sonst so im Hintergrund passiert.
*OffTopic*:
Absatz aus verschiedenen Gründen gelöscht. Tut nichts zur Sache.
Zum Thema zurück:
Überraschenderweise sehen deine Ausgaben vielversprechend aus, auch die Schreib-/Leserechte sehen gut aus. Ich muß zugeben, wenn der Receiver so offen ist, lohnt sich dieser tatsächlich für den einen oder anderen Zweck im Verbund
, gerade auch im Sinne meiner Videoüberwachung und teuer ist er auch nicht. Ich nehme alle meine Vermutungen zurück.
Demnach würde ich folgendes tun (sieht komplizierter aus als es ist, da ich es sehr ausführlich erläutere):
Möglichkeit 1:
Prüfe ob du eine Datei namens rc.local hast:
ls /etc/rc.local
Sollte sie nicht vorhanden sein, rate ich davon ab, sie zu erzeugen. Dann bitte Möglichkeit 2 nehmen.
(rc.local ist seit dem Jahre 1983 obsolet. Es diente bei der Einführung des damals neuen, heute veralteten SysV-Init-Systems als Workaround für die Beibehaltung noch älterer Methoden zur Systeminitialisierung)
Wenn rc.local aber vorhanden (von der Linuxversion abhängig, bei dir eine herstellerspezifische Version "Linux dm7020hd 3.2-dm7020hd"), fügst du mit
sudo nano /etc/rc.local
vor dem "exit 0":
Code:
# starte fritzcap
/home/root/fritzcap/fritzcap.py -m -c -d &
ein. Sollte dann so in etwa aussehen:
Code:
if [ irgendwas]; then
blah-bla-blah
fi
# starte fritzcap
/home/root/fritzcap/fritzcap.py -m -c -d &
exit 0
Speichern und neustarten.
Beim nächsten Neustart sollte Fritzcap laufen.
Dies kannst du mit
sudo ps -ef|grep fritzcap.py
prüfen.
Die Ausgabe sollte so bzw. so ähnlich aussehen:
Code:
root@:~# ps -ef|grep fritzcap.py
root 23424 23038 0 08:23 pts/0 00:00:00 /home/root/fritzcap/fritzcap.py -m -c -d &
root 23585 23507 0 08:24 pts/1 00:00:00 grep --color=auto fritzcap.py
Steht da nur
Code:
root@:~# ps -ef|grep fritzcap.py
root 14904 14790 0 13:26 pts/0 00:00:00 grep --color=auto fritzcap.py
läuft es nicht.
Möglichkeit 2:
(als Service einrichten)
Zunächst wird eine Datei mit dem Namen local.autostart unter /etc/init.d/ mit einem Editor deiner Wahl (zb. nano) erstellt.
Der Dateiname dient für dieses Beispiel und darf auch anders lauten, dann mußt du natürlich im folgenden alles "local.autostart" auch umbenennen.
Auf das das vorangehende "sudo" kannst du auch verzichten, wenn du als "root" angemeldet bist.
sudo nano /etc/init.d/local.autostart
und diesen Inhalt einfügen:
Code:
#! /bin/sh
### BEGIN INIT INFO
# Provides: local.autostart
# Required-Start: $start
# Required-Stop: $shutdown
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Autostart Fritzcap
# Description: Diese Datei startet Fritzcap auf der Dreambox DM7020HD
### END INIT INFO
# Author: Yellow99
# Aktionen
# starte fritzcap
/home/root/fritzcap/fritzcap.py -m -c -d &
Der Kopfteil ist sehr wichtig und muss vorhanden sein, denn er wird später vom Befehl update-rc.d verwendet. Er darf nicht gelöscht aber darf entsprechend angepasst werden. Unterhalb von # Aktionen stehen dann die eigentlichen Befehle.
Die Datei wird nun nach dem abspeichern ausführbar gemacht:
sudo chmod 755 /etc/init.d/local.autostart
Abschließend fügt man das Skript mit dem Befehl update-rc.d in die entsprechenden Runlevel ein.
sudo update-rc.d local.autostart defaults
Beim nächsten Neustart sollte Fritzcap laufen.
Dies kannst du mit
sudo ps -ef|grep fritzcap.py
prüfen.
Die Ausgabe sollte so bzw. so ähnlich aussehen:
Code:
root@:~# ps -ef|grep fritzcap.py
root 23424 23038 0 08:23 pts/0 00:00:00 /home/root/fritzcap/fritzcap.py -m -c -d &
root 23585 23507 0 08:24 pts/1 00:00:00 grep --color=auto fritzcap.py
Steht da nur
Code:
root@:~# ps -ef|grep fritzcap.py
root 14904 14790 0 13:26 pts/0 00:00:00 grep --color=auto fritzcap.py
läuft es nicht.
Um deine Linux-Kenntnisse und dein Verständnis zu erweitern:
Mit
ls -l /etc/rc?.d/*local.autostart
kannst du sehen, in welche Runlevel dein Service eingetragen wurde (rcX.d -> X = runlevel, K steht für "Kill", S steht für "Start").
Beispiele:
"/etc/rc
0.d/
K01local.autostart" = Runlevel 0 (Shutdown) - Kill local.autostart
"/etc/rc
3.d/
S01local.autostart" = Runlevel 3 (Normalbetrieb ohne GUI) - Start local.autostart
Runlevel | Beschreibung |
---|
0 | Shutdown. Alle Netzverbindungen werden geschlossen, Dateipuffer werden geschrieben, Mounts auf Partitionen werden entfernt (d. h. die im Verzeichnisbaum eingebundenen Datenträger werden ausgehängt). |
S | Single-User-Runlevel; niedrigster Systemzustand für Wartungsarbeiten, in dem ausschließlich Systemressourcen wie Festplatten oder Dateisysteme aktiv sind. |
1 | Einzelnutzerbetrieb ohne Netzwerk mit ausschließlich lokalen Ressourcen. In vielen Implementierungen identisch mit 'S'. |
2 | Lokaler Mehrnutzerbetrieb ohne Netzwerk mit ausschließlich lokalen Ressourcen. Unter einigen Linuxdistributionen (z. B. Debian) wird in Runlevel 2 auch das Netzwerk konfiguriert. |
3 | Netzwerkbetrieb, über das Netzwerk erreichbare Ressourcen sind nutzbar, eine grafische Oberfläche steht nicht zur Verfügung. Firewalls sollten aktiviert werden. |
4 | Ist normalerweise nicht definiert. Kann aber für diverse Dienste genutzt werden. |
5 | Wie 3, zusätzlich wird die grafische Oberfläche bereitgestellt. (Bereitgestellt heißt nicht unbedingt angezeigt) |
6 | Reboot. Alle Netzverbindungen werden geschlossen, Dateipuffer werden geschrieben, Mounts auf Partitionen werden entfernt. |
In welchem Runlevel du dich befindest, erfährst du mit
who -r
.
Sicherlich kann man das Script noch verbessern mit Start/Stop-Funktionen und sauberen beenden im Runlevel 0 oder 6, aber das ist hier m.E. mit Fritzcap nicht notwendig.
Sollte es wider erwarten zu Fehlern kommen oder nicht funktionieren, kannst du den Service mit
sudo update-rc.d -f local.autostart remove
notfalls wieder entfernen und wir werden eine andere Lösung finden.
Das o.a. Beispiel ist im Ursprung hier:
Quelle und stammt nicht vollständig aus meiner Feder. Weitere Informationen zu den Runleveln und zu update-rc.d findest du
hier.
Grüße
Chris
edit: Formatierungen, Rechtschreibfehler und Ergänzungen.