Crontab @reboot macht Probleme

  • Ersteller Ersteller heiohpei
  • Erstellt am Erstellt am
H

heiohpei

Gast
Hallo,

ich nutze gerade das aktuelle MINT und bin etwas ratlos.

Ich möchte beim Systemstart ein kleines Script starten, das autmatisiert Screenshots erstellt und im Ordner "Bilder" speichert. Ich habe mich für SCROT entschieden, was auch perfekt funktioniert:

Code:
while true
 do
     scrot -d 5 '%d-%m-%Y_%H_%M_%S.jpg' -e 'mv $f /home/defcon/Bilder/'
 done

Das Script liegt unter /usr/local/bin und lässt sich von der Console auch problemlos starten.

Lege ich einen Crontab-Eintrag an, wird das Script jedoch NICHT(!) gestartet

Code:
crontab -e

@reboot /usr/local/bin/scort.sh

Auch mit /bin/bash davor geht es nicht.

Als Test, ob ein @ReBoot-Eintrag im Crontab überhaupt gestartet wird, habe ich mal den Befehl "touch /home/defcon/Bilder/test" gesetzt .... DER Befehl läuft wunderbar durch nach dem Reboot.

Nun frage ich mich, warum das eigentliche Script nicht funktioniert :-(

Hat Jemand einen Tipp??

defcon999
 
Hallo
Erstmal herzlich willkommen hier.

Versuch mal den ganzen Pfad von dem "scrot" Befehl anzugeben.
 
Erst mal Danke für die Hinweise!

@R O G E R : in /usr/bin/scrot .. geändert ... keine Besserung :-(

@mae1cum77 : Ist tatsächlich "nur" ein Schreibfehler hier im Post.

@foofoobar : Ist im Script bereits vorhanden gewesen

Ich bin echt ratlos.
Ergänzung ()

parrotle schrieb:
ist das srikpt überhaupt ausführbar? Bitte mit chmod checken bzw ls

Ja, Rechte stimmen ... und über die Console funktioniert es ja auch.
 
  • Gefällt mir
Reaktionen: s1ave77
Zeig mal bitte den ls -a

Einmal ls -a, dann:
chmod +x /pfad/zu/mein_Skript.sh

und dann nochmal ls -a.

Hat sich was geändert? Die Rechte haben mich auch schon manche schmerzhafte Stunde gekostet.
Als Test kannst du dir ja mit dem Skript einfach eine Datei mit Uhrzeit erzeugen lassen, damit siehst du, ob das Skript überhaupt ausgeführt wird.

Und ja, in der Konsole/shell laufen die Skripte meist immer, crontab weigert sich trotzdem, wenn es nicht richtig gesetzt wird.
 
Zuletzt bearbeitet:
Hab eben geschaut was das für ein Tool ist, basiert auf X11 ( https://github.com/resurrecting-open-source-projects/scrot )

Wahrscheinlich fehlt $DISPLAY und die Berechtigung dafür, logge mal die Fehlermeldungen und den Exitcode von dem Tool. Wahrscheinlich kann das automatisch auch nur via .xsession sinnvoll starten.

Oder anders formuliert, woher soll das Tool bei mehreren laufenden X-Servern wissen mit welchem es reden soll.
 
Zuletzt bearbeitet:
foofoobar schrieb:
Hab eben geschaut was das für ein Tool ist, basiert auf X11 ( https://github.com/resurrecting-open-source-projects/scrot )

Wahrscheinlich fehlt $DISPLAY und die Berechtigung dafür, logge mal die Fehlermeldungen und den Exitcode von dem Tool. Wahrscheinlich kann das automatisch auch nur via .xsession sinnvoll starten.
... als NEWBIE verstehe ich nur "Bahnhof" .. sorry! :cool_alt:

Wie gesagt ... das Programm funktioniert absolut problemlos.
 
heiohpei schrieb:
... als NEWBIE verstehe ich nur "Bahnhof" .. sorry! :cool_alt:
Das ist schlecht.
heiohpei schrieb:
Wie gesagt ... das Programm funktioniert absolut problemlos.
Wechsel mal mit CTRL-ALT-F1 auf eine andere Konsole und starte das Ding mal da, wahrscheinlich wirst du eine Meldung mit "DISPLAY not found" oder so bekommen, weil da wie auch unterhalb von Cron der X-Server nicht bekannt ist. Und der X-Server den den du screenshotten willst muß ja auch nicht zwingend auf dem Hobel laufen wo das in den cron eingetragen hast bzw. es können ja auf dem Hobel auch mehrere X-Server laufen.

Der Kram kann nur im Kontext einer Xsession laufen: https://wiki.debian.org/Xsession
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: R O G E R
Das konntest du als "Autostart" deiner Oberfläche laufen lassen.
 
foofoobar schrieb:
Das ist schlecht.

Wechsel mal mit CTRL-ALT-F1 auf eine andere Konsole und starte das Ding mal da, wahrscheinlich wirst du eine Meldung mit "DISPLAY not found" oder so bekommen, weil da wie auch unterhalb von Cron der X-Server nicht bekannt ist. Und der X-Server den den du screenshotten willst muß ja auch nicht zwingend auf dem Hobel laufen wo das in den cron eingetragen hast bzw. es können ja auf dem Hobel auch mehrere X-Server laufen.

Der Kram kann nur im Kontext einer Xsession laufen: https://wiki.debian.org/Xsession
Stimmt ... da kommt eine solche Fehlermeldung :-(

Ich werde meine Versuche einfach einstellen .... LINUX macht es Umsteigern nicht gerade leicht.

Selbst so etwas Einfaches wie ein Script (das scheinbar problemlos läuft) beim Systemstart zum Laufen zu bekommen, ist mit Hürden verbunden. Und dann funktioniert das Programm plötzlich gar nicht, obwohl man "nur" eine andere Konsole benutzt?!

Vielen Dank für Eure Hilfe.
 
Mit Linux ist es wie mit anspruchsvoller Literatur...

...anscheinend nicht für jeden. :D
 
heiohpei schrieb:
Selbst so etwas Einfaches wie ein Script (das scheinbar problemlos läuft) beim Systemstart zum Laufen zu bekommen, ist mit Hürden verbunden. Und dann funktioniert das Programm plötzlich gar nicht, obwohl man "nur" eine andere Konsole benutzt?!
Die Flexibilität mehr als nur ein "Ding" pro Maschine oder gar keins zu haben was Pixel anzeigt fordert halt Tribut.
Und ich ich habe dir ja gesagt wo du hin willst.
 
  • Gefällt mir
Reaktionen: Th3Dan
heiohpei schrieb:
Selbst so etwas Einfaches wie ein Script (das scheinbar problemlos läuft) beim Systemstart zum Laufen zu bekommen, ist mit Hürden verbunden.
Na ja. Wenn Du für Deinen Zweck ein eher ungeeignetes Mittel wie CRON einsetzt, dann wirds natürlich nix.
Ich würde eher den schon angesprochenen Autostart-Ansatz wählen.
Im ubuntu-Wiki gibts ein deutschsprachigen Artikel zur Autostart-Thematik:
https://wiki.ubuntuusers.de/Autostart/
 
  • Gefällt mir
Reaktionen: Th3Dan
Zurück
Oben