rc.local wird nicht ausgeführt?

michael_kr

Cadet 2nd Year
Registriert
Dez. 2014
Beiträge
27
Hallo,

ich will ein kleines Script beim Booten automatisch ausführen lassen. Dazu hab ich das Script in die rc.local aufgenommen. Script ist auführbar, jedoch scheint es, dass rc.local garnicht aufgerufen wird. Hier meine rc.local:

Code:
#!/bin/sh
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# change background depending on the day of the week
/usr/local/scripts/wallpaper.sh

exit 0


Rufe ich in der Konsole /etc/rc.local auf funktioniert das ganze, nur eben nicht beim Bootvorgang.

Habe des Weiteren versucht das Script nach /etc/init.d zu legen und einen Link in /etc/rc2.d zu erstellen, was jedoch auch nicht ausgeführt wird.

Hat mir jemand Rat, was ich falsch mache?


Grüße
michael
 
Vor den Scriptaufruf? Werden Befehle in der rc.local nicht sowieso als sudo ausgeführt?

Ergänzung: Hat nicht funktioniert. Mit sudo funktioniert auch der manuelle Aufruf nicht mehr.
 
Zuletzt bearbeitet:
Welche Distribution mit welchem Init-System wird denn überhaupt verwendet? Einfach so beantworten kann man die Frage leider nicht.
 
Ich bin mir nicht sicher ob das Skript wirklich nicht ausgeführt wird. Was macht Wallpaper.sh? Schreib zum Test mal

date > /tmp/testdebug.log

in dieses Skript und schau ob das Datum beim Neustart in die Datei geschrieben wurde. Wenn ja dann ist die rc.local der falsche Ort für dein Skript.

Btw.: Welches Linux verwendest du?
 
Verwende Linux Mint 17.1 Rebecca

wallpaper.sh schaut einfach welcher Wochentag ist und setzt dann passend dazu den Hintergrund.
Ergänzung ()

Habe den Befehl hinzugefügt (im Script) dabei kam folgendes raus:

Tue Feb 24 12:20:58 CET 2015

Also wird das Script beim booten ausgeführt?
 
Wenn ich mich recht entsinne habe ich ein ähnliches Problem mal dadurch gelöst, einfach ein Delay von wenigen Sekunden einzufügen.
 
Das mit dem Dely habe ich auch schon versucht.

Den Link schaue ich mir später mal an, thx blöderidiot :D
 
Das Problem wird eher sein, dass das Skript während dem Bootvorgang ausgeführt wird und es zu dem Zeitpunkt noch gar keinen X-Server gibt (den man ja braucht um den Hintergrund der grafischen Oberfläche zu setzen. Auch ein Delay bringt nichts, weil die DISPLAY-Variable nicht gesetzt wird. Desweiteren bekommst du dann "XAuth"-Probleme, da die X-Server-Session deinem Client zugeordnet ist, du das Skript aber als root aufrufst (deshalb funktioniert es vmtl. auch nicht, wenn du das Skript mit sudo aufrufst).

Die beste Lösung ist, dass Skript nicht durch rc.local ausführen zu lassen sondern durch deine jeweilige Desktopumgebung. Unter KDE z.B. in den Systemeinstellungen unter "Starten und Beenden", bei GNOME soll man "Startprogramme" auf der Startseite eingeben.

edit: Oder so: http://wiki.ubuntuusers.de/Autostart#Fuer-alle-Benutzer
 
Zuletzt bearbeitet:
schließe mich stwe an.

Evtl. noch mit .xinitrc probieren.
 
Zurück
Oben