Vytvoření udalosti pro zabránění uspání

Vadimo

Vytvoření udalosti pro zabránění uspání
« kdy: 17. 02. 2013, 13:11:55 »
Potreboval by som spravit nejaký deamon, ktorý by po spusteni kontroloval, ci je spustena urcita aplikacia a ak áno, tak by vykonal nejaky úkon - udalost, povedzme každých 5 minut aby simuloval uzivatelovu cinnost, aby nedoslo ku uspaniu alebo hybernacii pocitaca.
Nechcem to riešiť zmenou hodnoty v power managemente, len tou udalostou. Niečo podobné funguje podla mna aj vo VLC ci Transmission.
Jedine čo by som od vás chcel, je len pomoct ako dosiahnuť tej udalosti.

Dakujem.
« Poslední změna: 17. 02. 2013, 19:44:09 od Petr Krčmář »


Re:Vytvoření udalosti pro zabránění uspání
« Odpověď #1 kdy: 17. 02. 2013, 19:45:42 »
Nejjednodušší bude asi použít k opakování Cron a k hlídání procesu pak stačí obyčejný ps a grep. Na simulování vstupů z klávesnice či myši existuje utilita xdotool, v Debianu je ve stejnojmenném balíčku (neuvedl jsi distribuci). Mělo by to fungovat.

Vadimo

Re:Vytvoření udalosti pro zabránění uspání
« Odpověď #2 kdy: 17. 02. 2013, 20:23:45 »
Dakujem, už som si našiel viac info. Aj ohladne xdotool. Zial ten uz nie je v repo pre U 12.04. Ale je ešte k dispozicii xte a tam sa da lahko simulovat napr. stlacenie klavesy. Jedine co mi nevyhovuje, ze tieto programy treba dodatocne doinstalovat. Nasiel som sice jedno super riešenie cez qdbus a org.freedesktop, ale žiaľ u mna nefunkčne. Malo by to fungovat asi takto:
qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.SimulateUserActivity
ale žiaľ u mna služba nie je spustená a mam hlášku:
Service 'org.freedesktop.ScreenSaver' does not exist.
Skušal som aj spustit šetrič a po 10sec sa spustil prikaz, ale služba stále nedostupná. Myslim, ze toto by bola správna cesta, žiaľ  :-[

A keď už sme pri tom, tak o čo mi vlastne ide. Chcem si PC nastaviť tak, keď napríklad Firefox stahuje subor (nejaky dlhší) aby mi po hodine, ked sa ma spustit usporný režim, aby sa nezrusilo spojenie. Našiel som aj doplnok s nazvom No Sleep Download, ale je pre Win. Ak sa dostanete ku zdrojaku, tak je to len pár riadkovy script. Napisal som aj tvorcovi, ci nema zaujem o upravu aj pre Linux. No a preto ak by bol zaujem, tak by som mu velmi rad stym pomohol - nasiel to správne riesenie ako toho dosiahnut. A dufam, ze je to mozne, ze tomu nebránia bezpečnostné opatrenia.

Jakub L.

Re:Vytvoření udalosti pro zabránění uspání
« Odpověď #3 kdy: 17. 02. 2013, 20:37:54 »
V Debianu si na tohle VLC spouští proces:

xdg-screensaver suspend #nějakéčíslo

Re:Vytvoření udalosti pro zabránění uspání
« Odpověď #4 kdy: 18. 02. 2013, 09:14:40 »
V Debianu si na tohle VLC spouští proces:
xdg-screensaver suspend #nějakéčíslo
Přesně. A to nějaké číslo handle okna, které si má screensaver hlídat a dokud dané okno existuje, je screensaver blokován (tím se šikovně brání uvíznutí v blokovaném stavu pokud aplikace chcípne nekorektně). Dá se zjistit pomocí nástroje xwininfo


aaa158

  • ****
  • 251
    • Zobrazit profil
    • E-mail
Re:Vytvoření udalosti pro zabránění uspání
« Odpověď #5 kdy: 18. 02. 2013, 11:25:22 »
V Debianu si na tohle VLC spouští proces:
xdg-screensaver suspend #nějakéčíslo
Přesně. A to nějaké číslo handle okna, které si má screensaver hlídat a dokud dané okno existuje, je screensaver blokován (tím se šikovně brání uvíznutí v blokovaném stavu pokud aplikace chcípne nekorektně). Dá se zjistit pomocí nástroje xwininfo

Kód: [Vybrat]
man xdg-screensaver
...
   reset
          Turns the screensaver off immediately. If the screen was
          locked the user may be asked to authenticate first.

...

Tipujem ze staci toto volat cez cron.

Vadimo

Re:Vytvoření udalosti pro zabránění uspání
« Odpověď #6 kdy: 18. 02. 2013, 13:51:31 »
Zatiaľ moc ďakujem.