scrawl
Anmeldungsdatum: 12. Dezember 2007
Beiträge: 1779
|
Hi, mal ganz theoretisch betrachtet, könnte ich mir ein sh-Skript im Ordner /etc/init.d erstellen, und das wird dann beim Starten ausgeführt? Das Pendant bei "System->Einstellungen->Sitzungen" funktioniert nämlich irgendwie nicht mehr ☹ Danke im Voraus
|
Holger63
Anmeldungsdatum: 8. Juni 2006
Beiträge: 695
Wohnort: Wesel, Nordrhein-Westfalen
|
scrawl hat geschrieben: mal ganz theoretisch betrachtet, könnte ich mir ein sh-Skript im Ordner /etc/init.d erstellen, und das wird dann beim Starten ausgeführt?
In dem Ordner /etc/init.d befinden sich nur die Skripte. In welchem Runlevel und in welcher Reihenfolge die Skripte ausgeführt werden, wird über symbolische Verknüpfungen in den Ordnern /etc/rcX.d festgelegt. Es wäre wahrscheinlich einfacher, den Aufruf deines Skriptes in der Datei /etc/rc.local einzufügen. Bedenke aber, dass dein Skript mit Root-Rechten ausgeführt wird. Außerdem ist das Netzwerk unter Umständen noch nicht korrekt hochgefahren, wenn du den Netzwerkmanager oder Wicd verwendest. scrawl hat geschrieben: Das Pendant bei "System->Einstellungen->Sitzungen" funktioniert nämlich irgendwie nicht mehr
Das ist äußerst merkwürdig. Wird dein Skript überhaupt nicht ausgeführt oder wird es aufgrund eines Fehlers/Problems vorzeitig beendet? Gruß, Holger
|
scrawl
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2007
Beiträge: 1779
|
Hm, also für mein Skript bräuchte ich schon das Netzwerk. Bei "Sitzungen" hab ich auf hinzufügen geklickt, Name und Befehl eingegeben und Enter gedrückt:
Ungültiges MakroDieses Makro ist nicht verfügbar Früher hatte das auch funktioniert, aber seit ich das sh-Skript umbenannt hab und ein bischen was verändert hab geht es nicht mehr. Also schon möglich dass es irgendein Fehler ist. Wenn ich den Befehl allerdings manuell ins Terminal eingebe, funktionierts. Woran kann das liegen?
|
fred.reichbier
Anmeldungsdatum: 14. Dezember 2006
Beiträge: 350
|
sh zeigt normalerweise auf dash. Vielleicht ist das der Fehler. Versuche mal, statt sh bash zu benutzen. Gruß Fred
|
scrawl
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2007
Beiträge: 1779
|
Wenn ich sh ..... ins Terminal eingebe, funktionierts. Kann es denn dann überhaupt daran liegen? Naja, egal, ich probier es gleich mal.
|
Holger63
Anmeldungsdatum: 8. Juni 2006
Beiträge: 695
Wohnort: Wesel, Nordrhein-Westfalen
|
Erweitere den Startbefehl folgendermaßen:
sh /home/scrawl/.startup 1>/tmp/output.txt 2>/tmp/error.txt Damit werden die normalen Bildschirm- und Fehlerausgaben in Dateien umgelenkt. Nach einer erneuten Anmeldung sieh dir die Dateien /tmp/output.txt und /tmp/error.txt an, ob dort Fehlermeldungen zu finden sind.
Gruß, Holger
|
scrawl
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2007
Beiträge: 1779
|
DIe Dateien error.txt und output.txt existieren nicht. Und wieder dasselbe, wenn ich den Befehl ins Terminal eingebe funktioniert alles und ich hab den output in der output.txt. Kommt mir langsam so vor als ob da an diesem Sitzungen-Applet was faul ist 😕
|
Holger63
Anmeldungsdatum: 8. Juni 2006
Beiträge: 695
Wohnort: Wesel, Nordrhein-Westfalen
|
Du sagtest, dass das Netzwerk für dein Skript benötigt wird. Vielleicht ist es noch nicht hochgefahren. Setze an den Anfang deines Skriptes testweise einen Wartebefehl: sleep 5 Damit wird 5 Sekunden gewartet, bevor dein Skript fortgesetzt wird. Gruß, Holger
|
scrawl
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2007
Beiträge: 1779
|
Naja, aber wenn das Netzwerk noch nicht hochgefahren ist, müsste es trotzdem einen Output geben. Und den tut es nicht. Achso, da fällt mir ein: Dieser trackerd klaut immer massig Ressourcen, deshalb habe ich ihn auch aus "Sitzungen" rausgenommen. Startet aber trotzdem immer. Also wenn ihr mich fragt liegt dass an dem Sitzungen-Applet.
|
Holger63
Anmeldungsdatum: 8. Juni 2006
Beiträge: 695
Wohnort: Wesel, Nordrhein-Westfalen
|
Normalerweise sollten dann Ausgaben kommen - richtig. Allerdings kenne ich dein Skript nicht. Vielleicht werden Fehler abgefangen und das Skript dann komentarlos beendet. Ich selbst verwende nicht den Netzwerkmanager, sondern /etc/network/interfaces. Dort kann ich postup-Skripte hinterlegen die ausgeführt werden, wenn das Netzwerk vollständig hochgefahren ist. Geht das auch mit dem Netzwermanager? Gruß, Holger
|
scrawl
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2007
Beiträge: 1779
|
Ja, den benutze ich auch, zumindest steht dort die Verbindung drin. Wie genau kann ich denn dann da Skripte ausführen lassen?
|
Holger63
Anmeldungsdatum: 8. Juni 2006
Beiträge: 695
Wohnort: Wesel, Nordrhein-Westfalen
|
scrawl hat geschrieben: Wie genau kann ich denn dann da Skripte ausführen lassen?
Indem du am Ende der entsprechenden iface-Konfiguration folgendes hinzufügst: post-up /pfad/zum/Skript Die Datei muss dafür mit chmod +x /pfad/zum/skript als ausführbar deklariert sein. Die erste Zeile in dem Skript sollte daher
#!/bin/sh lauten. Gruß, Holger
|
scrawl
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2007
Beiträge: 1779
|
Juhu, jetzt funktioniert es 😀 Danke dir ☺
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17625
Wohnort: Berlin
|
In Deinem "Startprogramm bearbeiten" ist womöglich falsch, das sh ohne Pfad aufgerufen wird.
sh /home/scrawl/.startup /bin/sh oder /bin/bash hätten da vielleicht auch funktioniert. Oder ganz ohne
/home/scrawl/.startup
|