Debian: Bash-Skript darf nur (weiter)laufen, wenn Bildschirmschoner an

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Programmer78, 18.08.2014.

  1. #1 Programmer78, 18.08.2014
    Programmer78

    Programmer78 Foren As

    Dabei seit:
    28.11.2007
    Beiträge:
    92
    Zustimmungen:
    1
    Hallo zusammen,

    ich bräuchte mal einen Hinweis. Ziel ist es, dass das Bash-Skript nur läuft, wenn der PC gerade nicht benutzt wird. Ich dachte an die Möglichkeit das über die Mauskoordinaten oder über den Bildschirmschoner zu lösen.

    Der Bildschirmschoner geht ja auch nach einer gewissen inaktiven Zeit in Betrieb. Weiß jemand, welches Signal ich da abgreifen könnte? Es sollte möglichst mit den vorinstallierten Programmen erledigt werden, so dass nichts nachinstalliert werden muss (depends entstehen).

    Über Anregungen wäre ich dankbar. Danke.

    Gruß

    Programmer
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 bitmuncher, 18.08.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Du könntest einen Listener auf /dev/input/mice setzen. Sobald dort für eine gewisse Zeit kein neuer Output kommt, steht die Maus still. Sonst wird dir vermutlich nur xdotool weiterhelfen, was aber ja eine zusätzliche Abhängigkeit wäre.
     
  4. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.053
    Zustimmungen:
    8
    Soll das allgemeingültig sein oder reicht es, wenn es nur auf Deinem PC läuft?

    ... in letzterem Fall - ggf. könntest Du eben den Bildschirmschoner missbrauchen, in dem Du schaust, ob der entsprechende Prozess läuft oder eben den Starter für das Programm "als Bildschirmschoner" eirnträgst.
     
  5. #4 Programmer78, 18.08.2014
    Zuletzt bearbeitet: 18.08.2014
    Programmer78

    Programmer78 Foren As

    Dabei seit:
    28.11.2007
    Beiträge:
    92
    Zustimmungen:
    1
    Danke für die schnellen Antworten. Ja so habe ich mir das gedacht, ich wusste nur nicht, wie ich da vorgehen muss. Das sind beides gute Ideen.

    Das Script sollte allgemeingültig sein, das macht die Sache so frickelig.

    Für /dev/input/mice brauch ich leider root-Rechte oder ne root-Gruppenzugehörigkeit.

    Mit dem Bildschirmschoner das wäre auch eine gute Methode. Kein root erforderlich aber der Schoner muss aktiviert sein.

    Vielleicht mache ich doch ein Installationsskript, wo dann die Berechtigungen entsprechend geändert werden oder der Schoner aktiviert wird. Mit mice werden nur Mausdaten abgefragt, gibt es noch Signale von der Tastatur oder beide gekoppelt? Ich würde die gekoppelten favorisieren, da beides ja Eingabegeräte sind. Man kann auch 10 min einen Text schreiben wo die Maus still steht.

    Danke erstmal! :)


    [Edit: Tastatursignale kommen auf event2. Weiss aber nicht ob es auf anderem USB-Port gleich ist. Teste ich morgen.]
     
  6. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.053
    Zustimmungen:
    8
    Anders herum gefragt: warum soll denn das Script nur laufen, wenn sonst niemand am PC arbeitet? Bzw. was macht das Script denn? Vielleicht passt denn ja auch eine trivial-Lösung über nice...
     
  7. #6 bitmuncher, 18.08.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Signale von der Tastatur bekommst du über /dev/input/event0. Allgemein kannst du durch Überwachung der Devices unter /dev/input/ mitbekommen, ob irgendwelche Eingaben erfolgen (z.B. auch über Bluetooth-Geräte etc.), da dafür prinzipiell ein Event-Handler benötigt wird.

    Ggf. solltest du aber einfach von Bash weggehen und z.B. Python oder sonst eine Sprache nutzen, mit der man direkt Funktionen der XLib nutzen kann. Ein Beispiel in Python wurde z.B. in http://stackoverflow.com/questions/...x-determine-if-i-am-using-my-computer-or-idle besprochen. Der Weg über die XLib wäre auf jeden Fall die sauberste Lösung. Alles andere wäre Workaround.
     
  8. #7 Programmer78, 18.08.2014
    Programmer78

    Programmer78 Foren As

    Dabei seit:
    28.11.2007
    Beiträge:
    92
    Zustimmungen:
    1
    Mit Bash arbeite ich, weil es so schön einfach ist. :D Mit Python habe ich mich noch gar nicht auseinander gesetzt. Vielleicht kann man dort ja nur den Teil abfragen und das dann an Bash übermitteln. Ich werde mich mal bezüglich xlib schlau machen. Vielleicht führt tatsächlich kein weg an Python vorbei.

    Marce meintest du jetzt nice oder mice. Falls du nice meinst, das sagt mir jetzt noch nichts. Hast du zwei Zeilen mehr? Muss euch jetzt leider auf morgen vertrösten, bis dann. Danke
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. #8 bitmuncher, 19.08.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    nice ist ein Tool mit dem man die verwendeten Ressourcen eines Prozesses einschränken kann. So kann man dafür sorgen, dass Prozesse im Hintergrund weniger Rechenzeit zugeteilt bekommen, wodurch sie das normale Arbeiten am Rechner nicht negativ beeinflussen. Wenn das Skript also nur dann laufen soll, wenn niemand am Rechner arbeitet, weil es zu viel Ressourcen frisst und die Arbeit ausbremst, dann wäre nice eine durchaus gangbare Lösung.
     
  11. #9 Programmer78, 20.08.2014
    Programmer78

    Programmer78 Foren As

    Dabei seit:
    28.11.2007
    Beiträge:
    92
    Zustimmungen:
    1
    Ich habe mich dazu entschlossen den Bildschirmschoner abzufragen. Das geht bei mir mit xscreensaver-command -time. Das erfordert keine Systemänderungen denn ich habe gesehen, dass Python xlib auch nicht standard ist. Die Lösung mit /dev/input erfordert geänderte Berechtigungen und von daher ist das mit dem Bildschirmschoner erstmal für mich die beste Lösung.

    Da der Bildschirmschoner immer in der Prozessliste ist, habe ich mir die Manuale durchgelesen und bin dann auf obigen Befehl gekommen. Das funktioniert nicht für alle Linux-Destributionen aber das reicht mir erstmal.

    Interessant, das mit nice, das könnte ich vielleicht später mal gebrauchen. Bei mir ist es jedoch im Moment nicht das Ressourcen-Problem. Trotzdem Danke für die Ausführungen.

    Danke für Eure Hilfe! Problem gelöst. :)
     
Thema:

Debian: Bash-Skript darf nur (weiter)laufen, wenn Bildschirmschoner an

Die Seite wird geladen...

Debian: Bash-Skript darf nur (weiter)laufen, wenn Bildschirmschoner an - Ähnliche Themen

  1. Wiederherstellen von überschriebenen Dokumenten auf debian samba

    Wiederherstellen von überschriebenen Dokumenten auf debian samba: Ich habe ein Problem. Vor Kurzem hat der Trojaner cryptologer einen Schaden eingerichtet. Glücklicherweise gab es eine Sicherung auf...
  2. Debian Samba 4.2.10+dfsg-0+deb8u3 Password wrong -Windows DC

    Debian Samba 4.2.10+dfsg-0+deb8u3 Password wrong -Windows DC: Hallo, ich habe einen debian Samba-Server mit share´s ohne Domäne aufgesetzt, d.h. "standalone". Wenn ich von Windows-Clients mit...
  3. Debian VM Klonen und parallel betreiben? Systemanpassungen

    Debian VM Klonen und parallel betreiben? Systemanpassungen: Hallo, ich habe vor eine Debian Maschine als Prototyp aufzusetzen... (als vSphere VM).... Diese Maschine will ich dann x-mal klonen und in div....
  4. LinuxDistribution: Bunsenlabs (Debian 8.2 mit Openbox)

    LinuxDistribution: Bunsenlabs (Debian 8.2 mit Openbox): Für alle die eine superschnelle minimalistische Distribution suchen, die auch auf schwachen Rechnern läuft, ich bin fündig geworden. Bin gestern...
  5. Update auf Apache >=2.4.12 unter Debian Jessie

    Update auf Apache >=2.4.12 unter Debian Jessie: Hi, aufgrund eines Bugs in Apache 2.4 benötige ich zum Deployment von Seafile unter Debian Jessie das Paket apache2 in der Version >= 2.4.12...