[Gelöst]​ crontab

  • Hallo

    ich habe eine crontab mitdem Inhalt:

    0 22 * * * gnome-screensaver-command -a

    angelegt.

    Es soll jeden Tag um 22:00Uhr der Bildschirm abgeschaltet werden.

    Crontab und cron.d läuft, jedoch passiert nichts.

    Ein Test mit

    0 11 * * * date > /home/ths/datum.txt

    funktionierte.

    Gruss

    Thomas

  • Was ich für sowas mal gemacht habe da ich das Problem auch schon mal hatte,

    einfach das gnome-screensaver-command -a in ein Shellskript gepackt und das Shellskript in die crontab eingetragen.

    Also in deinem Beispiel beispielsweise:

    ~/screensaver.sh

    Bash
    #!/bin/sh 
    gnome-screensaver-command -a

    crontab :

    Code
    0 22 * * * ~/screensaver.sh 

    Sicher nicht die eleganteste Lösung, hat aber in meinem Fall funktioniert.

  • Leider geht es auch so nicht.

    Ich habe nach endloser Suche im gesamten Netz etwas gefunden.

    Möglichkeit 1:

    crontab

    0 22 * * * DISPLAY=:0 LANG=de_DE.UTF-8 /usr/bin/gnome-screensaver-command -a

    Möglichkeit 2:

    script

    #!/bin/sh

    export DISPLAY=${DISPLAY:-":0"}

    /usr/bin/gnome-screensaver-command -a

    Es wurde gesagt, dass die crontab (ohne GUI) und der Desktop (GUI) unterschiedliche Umgebungsvariablen haben.

    Ich bekomme es absolut nicht mit crontab hin.

    Hat jemand eine Idee, wie ich ggf. anders zeitgesteuert automatisch den Monitor abschalten kann ?

  • Ich habe eine Lösung ohne crontab gefunden.

    Tastenkombination [F11]

    nohup /home/ths/monaus &

    Script (monaus)

    #!/bin/bash

    zeit="22:00"

    jetzt=$(date +%s)

    spaeter=$(date -d "$zeit" +%s)

    sleepsekunden=$(($spaeter - $jetzt))

    sleep $sleepsekunden

    gnome-screensaver-command -a


    Es wird über die Taste [F11] aktiviert und läuft im Hintergrund.

    Genauso wollte ich es haben.

    Um zu lernen wäre für mich interessant, wie es mit Befehlen in der crontab funktioniert.

    Für eine Info bin ich sehr dankbar.

    Ansonsten habe ich mein Ziel erreicht und bedanke mich bei allen mitwirkenden sehr herzlich.

    Gruß

    Thomas

  • NCC1701D 26. Dezember 2021 um 12:07

    Hat den Titel des Themas von „crontab“ zu „[Gelöst]​ crontab“ geändert.
  • Ansonsten habe ich mein Ziel erreicht und bedanke mich bei allen mitwirkenden sehr herzlich.

    Das ist toll das Du zu einer Lösung gekommen bist. Leider konnte ich Dir bei diesem Thema keine Hilfe sein mangels Fachwissen. Ich habe den Titel daher ergänzt um [Gelöst] so können vielleicht andere mit dem gleichen Problem deine Lösung ausprobieren.

    Laptop:    Thinkpad X260 (i7 6600U, 16GB RAM) - MX Linux/Win11

    Zweitrechner: Dell 3070 MFF (i5-9500T, 32GB RAM) - derzeit Win10

    Hauptrechner: Eigenbau (Intel Core i5-12400, GTX 1060 6GB,16GB RAM, 10-Gbit-LAN) Manjaro 23.1.3

    Server:   Eigenbau (i5-12600T, 64GB RAM, 3x NVMe-SSD 1x500GB+2x1TB, 2x SSD 1TB) - PROXMOX

    Diverse Raspis | 3D Drucker | 24/7-Server Fujitsu Futro m. PROXMOX

  • Hast du schon mal das Beispiel von Ubuntu-Wiki ausprobiert?

    Cron › Wiki › ubuntuusers.de

    Deine Umgebungsvariablen abfragen und

    Code
    ...@desktop ~-$ printenv | grep PATH
    PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11

    in die Crontab übertragen

    Code
    # Shell variable for cron
    SHELL=/bin/bash
    # PATH variable for cron
    PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11
    
    0 22 * * * gnome-screensaver-command -a
  • Das habe ich probiert, leider auch kein Erfolg.

    Ich habe gelesen, dass ein Unterschied zwischen cron (nicht GUI) und Desktop (GUI) sein soll und deshalb in cron kein Screen gefunden wird.

    DISPLAY=:0 wurde empfohlen zu setzen, habe ich auch mal gemacht - nichts gebracht.

    Auch /usr/bin/gnome-screensaver-commad -a hilft nicht.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!