Cronjob unter Arch will ncht

  • Moin,
    ich hätte gerne, dass mein Wallpaper reglemäßig wechselt. Also habe ich mir dafür einen Cronjob dafür machen wollen. Kurz geguckt, ich brauch also nen Cron-Daemon. Alles klar, vixie-cron installiert und mit systemctl enabled und gestartet. Nun habe ich mit sudo crontab -e die Crontab aufgemacht und folgendes eingetragen:

    Code
    */1 * * * * afeld DISPLAY=:0 feh --bg-fill "$(find /home/afeld/Bilder/Wallpaper/ | shuf -n1)"

    Es passiert.. nichts! Warum? Wenn ich den Befehl normal ins Terminal eingebe klappt alles und ein Zufalls-Wallpaper erscheint.

    Jetzt gucke ich ins Terminal und sehe folgendes:

    Code
    Jan 24 16:54:01 feldibook /usr/bin/cron[16860]: (root) CMD (afeld DISPLAY=:0 feh --bg-fill "$(find /home/afeld/...n1)")

    Sehe ich das richtig, dass der Cron-Dameon die Benutzernamen-Angabe ignoriert?

  • Vixie-Cron scheint keine gesonderte Syntax für Benutzernamen in der Root-Crontab zu haben, sondern nutzt den Standard (siehe crontab(5)) mit fünf Feldern für die Zeitangaben + Shellbefehl.

    Entweder du bearbeitest deine eigene Crontab (einfach crontab -e als einfacher Nutzer eingeben) oder musst selber ein sudo/su in den Befehl hineinbasteln.

  • Was spricht gegen eine systemd User Unit -> Timer? Da hast du dieses Problem garnicht, systemd selbst startet es schon in der User Sesseion und die Variablen etc. passt. Damit kannst du dir sogar das DISPLAY=:0 sparen.

    PGP-Key E384 009D 3B54 DCD3 21BF  9532 95EE 94A4 3258 3DB1 | S/MIME-Key 0x1A33706DAD44DA
    G d-@ s+:- a--- C+++ UB+L++ P--- L++@ E-@>++ W+ N o? K? w>++ !O !M !V PS+++ PE-- Y+>++ PGP++>+++ !t 5? X? !R tv b+++>++++ DI !D G>+ e>+++ h !r>++ !z
    „Die Aachener gelten als Erfinder des 4. Hauptsatzes der Thermodynamik: ‚Thermo schreibt man zweimal.“‘
    “Saying that Java is good because it works on all platforms is like saying oral sex is good because it works on all sexes.”
    „Es gibt 10 Sorten von Leuten: Die einen verstehen das Binärsystem, die anderen nicht.“
    „Manche Männer lieben Männer, Manche Frauen eben Frauen; Da gibt's nix zu bedauern und nichts zu staunen; Das ist genau so normal wie Kaugummi kauen; Doch die meisten werden sich das niemals trauen“

  • Danke für die Hinweise. Ich hatte schon die Idee, den User wegzulassen dort. Bringt aber auch nichts. Hm, muss ich mich jetzt wirklich mit irgendwelchen systemd-interna beschäftigen? Eventuell langt ja schon ein anderer cron-Daemon, die Cron-Syntax kann ich.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!