staging.inyokaproject.org

"Timer" gesucht

Status: Ungelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

weholei

(Themenstarter)

Anmeldungsdatum:
7. Februar 2019

Beiträge: 878

Im Prinzip machen das doch die Energieeinstellungen.

Genau

Automatisch in Bereitschaft gehen   an

wenn inaktiv

Verzögerung 15 Minuten  

Aber der Rechner würde auch morgen noch an sein.

Und ich finde nicht heraus, warum

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 941

Geht der damit in Bereitschaft? (15 Minuten oder 9 Sekunden, Terminal lgw. nicht schließen)

sleep 900 && systemctl suspend
sleep 9 && systemctl suspend #9 Sek.

Und ich finde nicht heraus, warum

Schau doch mal im

journalctl --since "1 days ago"

nach

systemd[1]: Starting systemd-suspend.service - System Suspend...

oder ä.

fleet_street

Top-Wikiautor
Avatar von fleet_street

Anmeldungsdatum:
30. August 2016

Beiträge: 2400

weholei schrieb:

Das ist vor allen für einen Rechner interessant, der sich manchmal von selbst einschaltet - warum habe ich noch nicht herausgefunden

Das hatte ich neulich falsch verstanden. Also: Der Rechner ist in Bereitschaft und wacht aus unbekanntem Grund auf.

Ich hatte mal eine empfindliche Maus. Da hat es gereicht in der Nähe vorbei zu gehen damit der Rechner erwachte. Mein Trick: Wenn ich den Rechner bewusst in Bereitschaft schickte, drehte ich die Maus einfach mit der Unterseite nach oben. Schon schlief der Rechner friedlich durch bis ich ihn wirklich benötigte. Vielleicht hilft das bei dir auch.

weholei

(Themenstarter)

Anmeldungsdatum:
7. Februar 2019

Beiträge: 878

Danke für die Antworten

testuser@ubu-20-home:/$ sleep 900 && systemctl suspend
User werner is logged in on tty2.
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl suspend -i'.
testuser@ubu-20-home:/$ sudo mount -t cifs -o credentials=~/.smbcredentials //raspi-u4/ziv  /media/austausch/ziv 

Gewollt hätte er schon.... Ich habe aber noch eine 2. Baustelle und war noch mit 2. Account angemeldet

Und weil ihr systemctl erwähnt

bisher habe ich einen Neustart mit init 6 eingeleitet, ist weniger tipparbeit als "systenctl reboot".

Ist das noch zeitgemäß und ratsam?

Schau doch mal im [journalctl --since "1 days ago"]

da kommt was

xxxxxxx@ubu-20-home:/ $ journalctl --since "1 days ago"  | grep suspend
Jul 07 22:21:43 ubu-20-home ModemManager[1150]: <info>  [sleep-monitor-systemd] system is about to suspend
Jul 07 22:21:45 ubu-20-home systemd-sleep[33036]: Entering sleep state 'suspend'...
Jul 07 22:21:45 ubu-20-home kernel: PM: suspend entry (deep)
Jul 08 07:22:32 ubu-20-home kernel: printk: Suspending console(s) (use no_console_suspend to debug)
Jul 08 07:22:32 ubu-20-home kernel: PM: suspend exit
Jul 08 07:22:33 ubu-20-home systemd[1]: systemd-suspend.service: Deactivated successfully.
Jul 08 07:32:31 ubu-20-home ModemManager[1150]: <info>  [sleep-monitor-systemd] system is about to suspend
Jul 08 07:32:32 ubu-20-home systemd-sleep[34153]: Entering sleep state 'suspend'...
Jul 08 07:32:32 ubu-20-home kernel: PM: suspend entry (deep)
Jul 08 14:43:16 ubu-20-home kernel: printk: Suspending console(s) (use no_console_suspend to debug)
Jul 08 14:43:16 ubu-20-home kernel: PM: suspend exit
Jul 08 14:43:17 ubu-20-home systemd[1]: systemd-suspend.service: Deactivated successfully.
Jul 08 15:00:15 ubu-20-home ModemManager[1150]: <info>  [sleep-monitor-systemd] system is about to suspend
Jul 08 15:00:16 ubu-20-home systemd-sleep[35307]: Entering sleep state 'suspend'...
Jul 08 15:00:16 ubu-20-home kernel: PM: suspend entry (deep)
Jul 08 19:54:59 ubu-20-home kernel: printk: Suspending console(s) (use no_console_suspend to debug)
Jul 08 19:54:59 ubu-20-home kernel: PM: suspend exit
Jul 08 19:55:00 ubu-20-home systemd[1]: systemd-suspend.service: Deactivated successfully.
xxxxxxxx@ubu-20-home:/ $ 

um 15:00 habe ich den Bereitschaftsknopf betätigt

und das mit Maus umdrehen ist gut Idee. Probier ich aus

fleet_street

Top-Wikiautor
Avatar von fleet_street

Anmeldungsdatum:
30. August 2016

Beiträge: 2400

Ups, das hat aber gedauert, bis das Protokoll gesichtet werden konnte.

xxxxxxx@ubu-20-home:/ $ journalctl --since "1 days ago"  | grep suspend
…
Jul 07 22:21:45 ubu-20-home kernel: PM: suspend entry (deep)
Jul 08 07:22:32 ubu-20-home kernel: printk: Suspending console(s) (use no_console_suspend to debug)
…
Jul 08 07:32:32 ubu-20-home kernel: PM: suspend entry (deep)
Jul 08 14:43:16 ubu-20-home kernel: printk: Suspending console(s) (use no_console_suspend to debug)
…
Jul 08 15:00:16 ubu-20-home kernel: PM: suspend entry (deep)
Jul 08 19:54:59 ubu-20-home kernel: printk: Suspending console(s) (use no_console_suspend to debug)
…
xxxxxxxx@ubu-20-home:/ $ 

um 15:00 habe ich den Bereitschaftsknopf betätigt

Und um 22:21 bzw. 7:32? Weißt du das noch? Interessant wäre, was passiert, wenn der Rechner nach Inaktivität in Bereitschaft gehen sollte. Ob er es wenigstens versucht; Falls ja, woran er scheitert.

Evtl. noch ein aktuelles Protokoll nachreichen, und die Zeit des Nichtstuns/Wartens dazu.


Ein Skript für eine alternative Energieverwaltung, das alle Minute die Mausposition überwacht und vergleicht, habe ich heute Morgen geschrieben. Das muss allerdings erst noch in Quarantäne. Nicht, dass dem armen Tierchen etwas übertragen wird. Melde mich nächste Woche noch mal.


Und offtopic besser sein lassen, sonst wird es unübersichtlich: weholei schrieb:

bisher habe ich einen Neustart mit init 6 eingeleitet, ist weniger tipparbeit als "systenctl reboot".

Ist das noch zeitgemäß und ratsam?

Eigentlich reicht

reboot  

Es sein denn, da sind weitere Benutzer angemeldet. Dann wäre es

systemctl reboot -i 

weholei

(Themenstarter)

Anmeldungsdatum:
7. Februar 2019

Beiträge: 878

Danke fleet_street

Evtl. noch ein aktuelles Protokoll nachreichen, und die Zeit des Nichtstuns/Wartens dazu.

werde ich nachreichen, sobald ich wieder mehr Zeit habe

fleet_street

Top-Wikiautor
Avatar von fleet_street

Anmeldungsdatum:
30. August 2016

Beiträge: 2400

fleet_street schrieb:

Ein Skript für eine alternative Energieverwaltung, das alle Minute die Mausposition überwacht und vergleicht, habe ich heute Morgen geschrieben. Das muss allerdings erst noch in Quarantäne. …

Letzteres war auch gut so. Auf dem Notebook hat das Skript nämlich nicht funktioniert und es waren Anpassungen nötig. Ich hoffe, dass es jetzt verkehrstauglich ist.

#/usr/bin/bash

# alternatives Energiemanagement

  # fleet_street; 14.07./22.08.2024
  # https://forum.ubuntuusers.de/post/9444894/
  # getestet mit Ubuntu MATE 24.04 (Desktop)
  # getestet mit Ubuntu MATE 22.04 (Notebook)
  # virtuell mit Ubuntu (GNOME) 20.04

  # Idee:
  # ein Array mit den zehn letzten Positionen der Maus
  # Wenn alle zehn den gleichen Wert haben, ist die Maus nicht bewegt worden
  # Eine Benachrichtigung wird angezeigt.
  # Wenn dann immer noch keine Mausbewegung,
  # dann wird der Rechner in Bereitschaft/Standby/Suspend to RAM geschickt.

dbg () {
  if [[ $DEBUG = true ]]
  then
    echo $@
  fi
}

# Verzeichnis für temproräre Datei(en)
tmpdir=$(mktemp -d)
touch ${tmpdir}/device

# eine Variable für die aktuelle Mausposition
curr_pos=0

# ein Feld (Array) für die zehn letzten Positionen
# absichtlich unterschiedlich, damit mindestens zehn Durchläufen der Schleife
last_pos=(9 8 7 6 5 4 3 2 1 0)

# wurde Benachrichtigung geschickt?
notified=false

# Liste aller Pointer (Maus, Touchpad, …)
xinput | \
  grep pointer | \
  grep -v Virtual | \
  cut -c11- | \
  sed 's/\(.*\)id=\(.*\)/\1/' > ${tmpdir}/pointer

# ermittle erstes verwendete Gerät aus der Liste
while read device
do
  curr_pos=$(xinput query-state "$device" 2> /dev/null | grep "valuator\[0\]" | cut -d "=" -f2)
  if [ ! -z $curr_pos ]
  then
    if [[ $curr_pos -gt 0 ]]
    then
      echo "Gerät \"$device\" wird verwendet"
      echo "$device" >> ${tmpdir}/device
      dbg "\$curr_pos $curr_pos"
      #break
    fi
  fi
done < ${tmpdir}/pointer

device=$(head -1 ${tmpdir}/device)
if [ "$device" = "" ]
then
  echo "Es konnte keine Maus ermittlet werden"
  exit 1
fi

curr_pos=$(xinput query-state "$device" 2> /dev/null | grep "valuator\[0\]" | cut -d "=" -f2)
dbg "\$device $device \$curr_pos $curr_pos"

#exit 0

# Dauerschleife
while true
do
  # älteste Pos. vergessen, aktuelle Pos. an letzte Stelle des Feldes
  for ((i=0; i<9; i++))
  do
    last_pos[$i]=${last_pos[$i+1]}
  done
  last_pos[9]=$curr_pos
  dbg "${last_pos[$@]}"

  # Feld überprüfen, wenn irgendwas nicht übereinstimmt, gleich raus aus der Schleife
  for ((i=0; i<9; i++))
  do
    dbg "for: i=$i"
    if [[ $curr_pos -ne ${last_pos[$i]} ]]
    then
      dbg "if: $curr_pos -ne ${last_pos[$i]}"
      notified=false
      # Rest der for-Schleife überspringen; Nächster Schleifendurchlauf bitte!
      break
    fi
    # alle Felder gleich, d. h. Maus wurde nicht bewegt
    dbg "end of for"
    # wurde Benachrichtigung geschickt?
    if [[ $notified = false ]]
    then
      notify-send "An Maus wackeln oder Bereitschaft in 60 Sekunden"
      notified=true
    else
      notified=false
      # Array/Feld neu initialisieren, damit nach dem Aufwachen
      # wirklich (fast) vorne beginnt
      last_pos=(9 8 7 6 5 4 3 2 1 0)
      # In Bereitschaft schicken
      systemctl -i suspend
    fi
    # Rest der for-Schleife überspringen; Nächster Schleifendurchlauf bitte!
    break
  done

  # warte 60 Sekunden vor dem nächsten Durchlauf der while-Dauerschleife
  sleep 60
  curr_pos=$(xinput query-state "$device" | grep "valuator\[0\]" | cut -d "=" -f2)
done

weholei

(Themenstarter)

Anmeldungsdatum:
7. Februar 2019

Beiträge: 878

Danke fleet_street

Da hast Du Dir aber viel Arbeit wegen mir gemacht, wie kann ich mich revanchieren?

Ich hoffe, ich habe es so richtig umgesetzt:

Mit nano eine Datei stby.scr in mein ~/script Verzeichnis erstellt.

Den Text reinkopiert, die Datei gespeichert

Das Datei ausführbar gemacht.

Da kommt aber noch ein Fehler, wahrscheinlich habe ich anderen Desktop:

xxxxxx@ubu22-BW:~/script $ ./stby.scr 
WARNING: running xinput against an Xwayland server. See the xinput man page for details.
Gerät "xwayland-relative-pointer:17" wird verwendet
WARNING: running xinput against an Xwayland server. See the xinput man page for details.
WARNING: running xinput against an Xwayland server. See the xinput man page for details.
WARNING: running xinput against an Xwayland server. See the xinput man page for details.
Code

Ich probiere es, wenn ich heimkomme an dem Rechner, der nicht herunterfährt

weholei

(Themenstarter)

Anmeldungsdatum:
7. Februar 2019

Beiträge: 878

Hallo fleet_street

Mein Rechner zuhause (Ubuntu 22.04) zeigt das gleiche Verhalten.

Ich habe jetzt mein Reserve Linux ( Mint ) gestartet und poste, was ich für relevant halte.

xxxxxxx@mint21-home:~$ uname -a
Linux mint21-home 5.15.0-88-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
xxxxxxx@mint21-home:~$ echo $XDG_CURRENT_DESKTOP
X-Cinnamon
xxxxxxx@mint21-home:~$ cd script/
xxxxxxxx@mint21-home:~/script$ ./stby.scr 
Gerät "Logitech USB-PS/2 Optical Mouse" wird verwendet
xxxxxxxx@mint21-home:~/script$ ./stby.scr 
Gerät "Logitech USB-PS/2 Optical Mouse" wird verwendet

Da Mint automatisch in den Bereitschaftsmodus ging, habe ich dies ausgeschaltet

root@mint21-home:/home/xxxxxx/script# tail -f /var/log/syslog
Sep 18 21:16:56 mint21-home systemd-resolved[797]: Clock change detected. Flushing caches.
Sep 18 21:16:57 mint21-home systemd[1]: NetworkManager-dispatcher.service: Deactivated successfully.
Sep 18 21:17:16 mint21-home CRON[7357]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Sep 18 21:17:18 mint21-home cinnamon-session[2365]: WARNING: t+2276,65685s: Detected that screensaver has left the bus
Sep 18 21:17:18 mint21-home org.cinnamon.ScreenSaver[6903]: Error in sys.excepthook:
Sep 18 21:17:18 mint21-home org.cinnamon.ScreenSaver[6903]: Original exception was:
Sep 18 21:17:18 mint21-home org.cinnamon.ScreenSaver[6903]: Error in sys.excepthook:
Sep 18 21:17:18 mint21-home org.cinnamon.ScreenSaver[6903]: Original exception was:
Sep 18 21:17:18 mint21-home org.cinnamon.ScreenSaver[6903]: Error in sys.excepthook:
Sep 18 21:17:18 mint21-home org.cinnamon.ScreenSaver[6903]: Original exception was:
Sep 18 21:30:01 mint21-home CRON[7491]: (root) CMD ([ -x /etc/init.d/anacron ] && if [ ! -d /run/systemd/system ]; then /usr/sbin/invoke-rc.d anacron start >/dev/null; fi)

Nach wieviel Minuten ionaktivität soll er in den stby gehen?

fleet_street

Top-Wikiautor
Avatar von fleet_street

Anmeldungsdatum:
30. August 2016

Beiträge: 2400

weholei schrieb:

Da hast Du Dir aber viel Arbeit wegen mir gemacht, …

Nee, habe ich nicht. Sonst hätte ich es auch unter einem aktuelleren GNOME ausprobiert und selbst bemerkt, dass es nicht funktioniert. Habe auch nichts gefunden, wie man das unter wayland umsetzen könnte. ☹

weholei

(Themenstarter)

Anmeldungsdatum:
7. Februar 2019

Beiträge: 878

fleet_street schrieb:

weholei schrieb:

Da hast Du Dir aber viel Arbeit wegen mir gemacht, …

Nee, habe ich nicht. Sonst hätte ich es auch unter einem aktuelleren GNOME ausprobiert und selbst bemerkt, dass es nicht funktioniert. Habe auch nichts gefunden, wie man das unter wayland umsetzen könnte. ☹

Naja, für mich siehts nach viel Arbeit aus, danke

Eine dumme Frage?

kann man das Script auch so umstellen das es statt Maus auf Tastaturbefehle "lauscht"?

Weil Meldung ist ja eingebaut, und das wäre dann genau das, was mein Fernseher immer sagt: Bitte drücken sie eine Taste, sonst schaltet das Gerät ab

Antworten |