Rechner bleibt aktiv nach Aufwecken über wake on lan

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Steve_McGarrett
Beiträge: 89
Registriert: 13.11.2007 22:20:33

Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von Steve_McGarrett » 22.01.2018 22:45:51

Hallo,

ich habe mein Laptop mit Stretch und Cinnamon so eingestellt, dass es nach 10 Minuten in den Standby geht.

Da ich auf dem Server ein nächtliches Backup (dirvish) mache, wecke ich es hierzu mittel WOL auf.

Dies funktioiniert. Allerdings geht es danach nicht mehr in den Standby. Erst wenn ich am Laptop eine Taste drücke oder die Maus bewege, läuft der 10 Minuten Timer wieder.
Ich könnte jetzt einfach nach dem Backup ein Standby erzwingen. Da sich das Backup aber auch mal bis in den Vormittag hinziehen kann, möchte ich es eigentlich vermeiden; ich köntte ja gerade am Arbeiten sein.

Hat jemand eine Idee, warum dies so ist und wie ich nach beendetem Backup (dirvish kann beliebige Befehle aufrufen) einfach nur den 10 Minuten Timer wieder laufen lassen kann?

Danke.
Debian 9 mit Cinnamon.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von NAB » 22.01.2018 23:42:03

Steve_McGarrett hat geschrieben: ↑ zum Beitrag ↑
22.01.2018 22:45:51
ich habe mein Laptop mit Stretch und Cinnamon so eingestellt, dass es nach 10 Minuten in den Standby geht.
Mal ne blöde Frage ... wie hast du den Laptop so eingestellt? Als angemeldeter User ganz normal über die Cinnamon GUI? Oder irgendwie anders? Und bist du eingeloggt, wenn der Rechner in den Suspend geht?

Eigentlich hast du hier nämlich eine Fehlfunktion ... der Rechner sollte auch nach einem WOL wieder nach 10 Minuten einschlafen. Tut er zumindest bei mir unter KDE. Und auch nur, falls ich eingeloggt bin. Sonst läuft er ewig weiter. Somit ist es schon mal "Glück", dass dein Backup überhaupt durchläuft und nicht nach 10 Minuten abgewürgt wird.

Einen Tastendruck kannst du mit "xdotool" simulieren. Das dürfte aber nicht so einfach sein, denn dirvish läuft als root (?) und root kommt nicht so ohne weiteres an deinen X-Server ran. Eventuell reicht hier ein einfaches "su" um xdotool mit deinen Benutzerrechten auszuführen.

Aus den eingangs genannten Gründen ist das aber vielleicht nicht die beste Methode und man sollte über eine solidere Lösung nachdenken.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Steve_McGarrett
Beiträge: 89
Registriert: 13.11.2007 22:20:33

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von Steve_McGarrett » 22.01.2018 23:48:56

Laptop als angemeldeter User über Cinnamon GUI. Ich bin eingeloggt bei Suspend (automatische Anmeldung in lightdm.conf).

Denke auch, dass das nicht normal ist. Normalerweise hat man ja das Problem, den Rechner während des Backups wach zu halten und nicht umgekehrt.

Dies betrifft übrigens alle Stretch-Geräte im Haushalt. War aber auch schon unter Jessie so. Deshalb laufen die auch 24/7. Wäre aber eigentlich schön, wenn die auch mal "Schlafen" könnten.

Also: Lasst uns dem Problem auf den Grund gehen und nicht über Workarounds nachdenken.

Was braucht ihr von mir? Wie sollte ich vorgehen?

Ich mache jetzt mal einen Versuch ohne automatische Anmeldung.
Debian 9 mit Cinnamon.

Steve_McGarrett
Beiträge: 89
Registriert: 13.11.2007 22:20:33

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von Steve_McGarrett » 23.01.2018 00:16:24

Auch mit manueller Anmeldung bleibt er aktiv.
Debian 9 mit Cinnamon.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von NAB » 23.01.2018 01:40:49

Also ich habe mir das mit der Holzhammermethode zurechtgescripted ...

Code: Alles auswählen

#!/bin/sh
/bin/sleep 1200 # wait 20 mins for user to log in

while [ -n "$(who)" ]; do
    /bin/sleep 1800 # wait another 30 mins if someone is logged in
done

echo "Last forced Shutdown at" > /root/shutdown.log
echo "$(date)" >> /root/shutdown.log

/sbin/shutdown -h now # shutdown if no one is logged in
# or
# /bin/systemctl suspend # suspend if no one is logged in
(Die letzte Zeile hab ich eben nur für dich eingefügt)

Das Ding wird bei mir direkt nach dem Booten ausgeführt, läuft immer, und fährt den Rechner herunter, wenn niemand (mehr) eingeloggt ist. Daher reagiert es auch auf Remote-Logins - also wenn sich z.B. mein Backup-Script einloggt, nachdem der Rechner per WOL geweckt worden ist. Wenn man es auf suspend umstellt, müsste man es natürlich auch nach jedem Suspend wieder starten lassen.

Das Problem ist, dass es dir so nicht hilft, denn du willst ja eingeloggt bleiben. Das Script würde also nie irgendwas tun. Und wenn du ausgeloggt bist, würde es vielleicht dein Backup-Script abwürgen, falls das lokal läuft, denn dann loggt sich ja niemand auf den Rechner ein (ich weiß nicht genau, wie dirvish da vorgeht). Du kannst es höchstens als Vorlage für eigene Ideen benutzen.

Was du eigentlich willst ist eine Abfrage, ob du eingeloggt bist (das ist leicht) UND der Screensaver läuft. Wenn ja, kann dein Backup-Script den Rechner getrost in den Suspend schicken. Das mit dem Screensaver ist fummelig ... als root kommst du nur mit Umwegen an die X-Session des Users ran, Gnome ändert dauernd sein DBus-Interface und KDE kocht eh sein ganz eigenes Süppchen. Und von Cinnamon hab ich zuwenig Ahnung.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Benutzeravatar
Tintom
Moderator
Beiträge: 3029
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von Tintom » 23.01.2018 08:43:34

Nicht elegant, aber ganz praktikabel: Vor dem Start von dirvish eine Lock-Datei (z.B. /tmp/.dirvishjob.lock) anlegen und nach vollendeter Arbeit die Datei löschen lassen.
Dann das obige Skript erweitern, etwa so:
while [ -e /tmp/.dirvishjob.lock ]; do
sleep 180
done

Steve_McGarrett
Beiträge: 89
Registriert: 13.11.2007 22:20:33

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von Steve_McGarrett » 23.01.2018 14:27:18

Da ja das Grundproblem eigentlich das aktiv bleiben ist und das schon unter Jessie so war, mache ich jetzt mal zwei Experimente

1. Test mit Stretch (Cinnamon) in einer VM und wenn das dann funktioniert,
2. Installtion von Jessie (Cinnamon) in einer VM und update auf Stretch

vllt. ist es ja ein alter unentdeckter Jessie Bug, den auf Stretch migriert habe.
Debian 9 mit Cinnamon.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von NAB » 23.01.2018 16:29:43

Tintom hat geschrieben: ↑ zum Beitrag ↑
23.01.2018 08:43:34
Nicht elegant, aber ganz praktikabel:
An sowas hatte ich auch gedacht ... find ich auch elegant einfach. Noch "eleganter" wäre es, wenn das Backupscript mein Script einfach killt und dann wieder startet, wenn es fertig ist. Das beantwortet aber nicht die Frage, ob Steve gerade vor dem Rechner sitzt. Dann soll der Rechner ja nicht herunterfahren.
Steve_McGarrett hat geschrieben: ↑ zum Beitrag ↑
23.01.2018 14:27:18
1. Test mit Stretch (Cinnamon) in einer VM und wenn das dann funktioniert,
2. Installtion von Jessie (Cinnamon) in einer VM und update auf Stretch
Oha ... das klingt nach einiger Arbeit. Und ich weiß nicht, ob eine VM da repräsentative Ergebnisse liefert ...

Ich hab da grad was gefunden:

Code: Alles auswählen

$ xset q
sagt unter anderem:

Code: Alles auswählen

Monitor is On
Wenn das auch zuverlässig anzeigt, ob der (die?) Monitor(e?) gerade aus oder im Standby sind, und wenn man zuverlässig an den X-Server herankommt, wäre das ein Indikator, ob er den Rechner wieder in den Suspend schicken darf.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Steve_McGarrett
Beiträge: 89
Registriert: 13.11.2007 22:20:33

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von Steve_McGarrett » 23.01.2018 16:38:08

Korrekt. VM geht nicht mit Standby. Aber da das Problem alle meine Rechner betrifft und ich die Ursache finden will, mache ich jetzt mal das selbe Spiel auf richtiger Hardware.

Wie ich den Rechner während des Backups wach halte, darum kümmere ich mich später.

Ich berichte alsbald.
Debian 9 mit Cinnamon.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von NAB » 23.01.2018 17:00:24

Steve_McGarrett hat geschrieben: ↑ zum Beitrag ↑
23.01.2018 16:38:08
Wie ich den Rechner während des Backups wach halte, darum kümmere ich mich später.
Debian empfiehlt die Holzhammermethode ... find ich gut :D
https://wiki.debian.org/Suspend
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Steve_McGarrett
Beiträge: 89
Registriert: 13.11.2007 22:20:33

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von Steve_McGarrett » 23.01.2018 17:28:24

Standby nach WOL geht auch mit einer sauberen Stretch Installation nicht unter Cinnamon :?
Debian 9 mit Cinnamon.

guennid

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von guennid » 23.01.2018 17:34:59

ziemlich OT, aber der Titel lässt mich schmunzeln: Da beschwert sich wer, dass der Rechner tut, was er soll. :wink:

Merkt man nicht gleich, dass gemeint ist: kein standby/suspend nach wol. :wink:

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von NAB » 23.01.2018 18:17:49

Steve_McGarrett hat geschrieben: ↑ zum Beitrag ↑
23.01.2018 17:28:24
Standby nach WOL geht auch mit einer sauberen Stretch Installation nicht unter Cinnamon :?
Nur damit ich hier auch mitkomme ...
Du testest ein WOL ganz ohne Backupscript? Es hat also gar nichts mit dem Backupscript zu tun?

Und bist du dabei eingeloggt oder nicht?
Wenn du eingeloggt bist, müssten eigentlich deine Einstellungen unter Cinnamon greifen.
Wenn niemand eingeloggt ist, ist die Standardeinstellung meines Wissens, dass der Rechner permanent läuft.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Steve_McGarrett
Beiträge: 89
Registriert: 13.11.2007 22:20:33

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von Steve_McGarrett » 23.01.2018 18:31:39

NAB hat geschrieben: ↑ zum Beitrag ↑
23.01.2018 18:17:49
Steve_McGarrett hat geschrieben: ↑ zum Beitrag ↑
23.01.2018 17:28:24
Standby nach WOL geht auch mit einer sauberen Stretch Installation nicht unter Cinnamon :?
Nur damit ich hier auch mitkomme ...
Du testest ein WOL ganz ohne Backupscript? Es hat also gar nichts mit dem Backupscript zu tun?

Und bist du dabei eingeloggt oder nicht?
Wenn du eingeloggt bist, müssten eigentlich deine Einstellungen unter Cinnamon greifen.
Wenn niemand eingeloggt ist, ist die Standardeinstellung meines Wissens, dass der Rechner permanent läuft.
Ja, genau. Erstmal Test ohne Backup Script. Und ja, ich bin eingeloggt. Habe jetzt mal MATE installiert und teste damit.
Irgendeine vermaledeite Ursache muss es ja haben.
Debian 9 mit Cinnamon.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von NAB » 23.01.2018 18:49:03

Jupp, das sieht nach einem Bug (oder Feature?) in Cinnamon aus. Der KDE schickt mir die Rechner nach einem WOL zuverlässig wieder in den Suspend, FALLS jemand eingeloggt ist.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Steve_McGarrett
Beiträge: 89
Registriert: 13.11.2007 22:20:33

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von Steve_McGarrett » 23.01.2018 21:11:22

Stand der Dinge jetzt:

KDE mit sddm -> geht
KDE mit lightdm -> geht auch

Aber warum zur Hölle gehts weder mit Cinnamon noch mit Mate?

Jemand eine Idee?
Debian 9 mit Cinnamon.

Steve_McGarrett
Beiträge: 89
Registriert: 13.11.2007 22:20:33

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von Steve_McGarrett » 23.01.2018 22:57:48

Gnome -> funktioniert auch.
Debian 9 mit Cinnamon.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von NAB » 23.01.2018 23:50:44

Dein Forschungsgeist in allen Ehren ... aber wohin soll das führen? Falls du eine Desktop-Umgebung suchst, die sich anders verhält, hast du nun ja schon zwei gefunden.

Und selbst wenn dir jemand bis zum Quellcode herunter erklärt, warum Cinnamon sich so verhält, wie es es tut ... was bringt's dir?

Die Frage ist immer noch, wie du damit möglichst geschickt umgehst.

Hier:
https://www.collindelker.com/2016/10/16 ... take2.html
macht jemand recht elegant den Suspend kaputt, indem er eine Systemd-Unit zwischenschaltet, die einfach "exit 1" zurückgibt.

Ich weiß nur immer noch nicht, wie man verlässlich herausbekommen soll, ob du gerade am Rechner sitzt oder nicht. Ein paar hässliche Ansätze habe ich noch gefunden:
who -u -H
w
ls -l /dev/pts*
cat /dev/input/mouse0
Das ist aber alles ganz blöd zu verwursten.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Benutzeravatar
smutbert
Moderator
Beiträge: 8319
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von smutbert » 24.01.2018 10:52:55

Das geht mit loginctl ganz gut. Ich hab mir einmal für notify-send ein kleines Skript geschrieben, das alle lokalen, aktiven Sitzungen auflistet (im Normalfall ist das höchstens eine einzige). Leicht entrümpelt und erweitert um die Information ob der Bildschirm gerade gesperrt ist, sieht es so aus (ich bin mir sicher, dass das Verarbeiten der Strings auch schöner und ohne echo ginge...):

Code: Alles auswählen

#!/bin/sh

for session_ID in $(loginctl --no-legend list-sessions | awk '{print $1}')
do
        loginctl_output=$(loginctl show-session ${session_ID})

        session_User=$(echo "${loginctl_output}" | sed -ne 's/^Name=//p')
	session_Type=$(echo "${loginctl_output}" | sed -ne 's/^Type=//p')
        session_Idle=$(echo "${loginctl_output}" | sed -ne 's/^IdleHint=//p')
        session_Remote=$(echo "${loginctl_output}" | sed -ne 's/^Remote=//p')
        session_Active=$(echo "${loginctl_output}" | sed -ne 's/^Active=//p')
        if test ${session_Active} = "yes" && test ${session_Remote} = "no"; then
                echo "lokale, aktive Sitzung: ${session_User} (${session_Type}, Bildschirmschoner/-sperre: ${session_Idle})"
        fi
done

Benutzeravatar
RobertS
Beiträge: 512
Registriert: 15.04.2012 13:50:53
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Rastatt BaWü

Re: Rechner bleibt aktiv nach Aufwecken über wake on lan

Beitrag von RobertS » 24.01.2018 12:39:02

man logind.conf
Mein kleiner Rechenknecht, ohne Bildschirm und Tastatur bleibt zuverläßig wach solange ich per ssh angemeldet bin und geht in den Suspend wenn nicht.

Code: Alles auswählen

robert@Rechenknecht:~$ cat /etc/systemd/logind.conf 
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See logind.conf(5) for details.

[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
#HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#HoldoffTimeoutSec=30s
IdleAction=suspend
IdleActionSec=5min
#RuntimeDirectorySize=10%
#RemoveIPC=yes
#InhibitorsMax=8192
#SessionsMax=8192
#UserTasksMax=33%

Antworten