Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: firefox flash detekce script  (Přečteno 1484 krát)

foruman

  • Návštěvník
  • Příspěvků: 31
firefox flash detekce script
« kdy: 27 Května 2015, 14:12:12 »
Ahoj,
řeším jistý problém pod derivatem z ubuntu 14.04 (elementary). Mám nainstalovany xscreensaver, ten funguje dobře. Nad ním mám nainstalovaný caffeine poslední verze, ta by sice měla mít indikátor v panelu, aby se dal caffeine ručně zapnout/vypnout - nicméně nejspíše pod wing-panelem nefungují :-( . V každém případě cokoliv co je ve fullscreenu screensaver pozastaví a tak youtube, nebo film není spořičem narušenej. Ovšem pokud se dívám na youtube bez fullscreenu, dojde k jeho aktivaci ...
Napadlo mě to vyřešit skriptem který by detekoval aktivní flash a tudíž by killnul xset a po ukončení opět nahodil.
Napad byl takový ...
Kód: [Vybrat]
#!/bin/bash
# Wrapper around the main body to facilitate being run
# from a startup file like .xinitrc, ~/.config/autostart, ...

while :; do
    if pgrep xscreensaver >/dev/null; then
        METHOD="xscreensaver"
        pkill xscreensaver
    else
        METHOD="xset"
        xset s off
    fi

    # If you want to be really fancy:
    notify-send "Screensaver Dektivován" $"Flash plugin běží"

    while ps ax | grep libflashplayer.so >/dev/null; do
          sleep 1 # Sleep while waiting for Flash to exit
    done

    if [ "$METHOD" = "xscreensaver" ]; then
        xscreensaver &
    else
        xset s 30
    fi

    # If you want to be really fancy:
    notify-send "Screensaver Aktivován" $"Flash plugin neběží"

    sleep 30
done

Bohužel k vykonání skriptu nedojde, aktivní je po startu, ostatní skripty co mám fungují. Používám modifikovanej firefox a ten uzavírá flash do plugincontaineru. Nevím jestli tohle může být onen problém. Ale volá knihovnu, tak by to mělo být skrze  libflashplayer.so v pořádku. Nevím, nechám si poradit od zkušenějších :-)

Díky.

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:firefox flash detekce script
« Odpověď #1 kdy: 27 Května 2015, 14:49:43 »
Kdysi jsem napsal skript pro vytahování flashových videí z cache, kde jsem řešil všechny varianty pluginu pro Firefox (tam je rozdíl 32 a 64 bit), Chrome, Chromium a Operu. Procesy jsem si vylistoval všechny najednou takto:
Kód: [Vybrat]
pgrep -f '([o]perapluginwrapper|[p]lugin-container|[c]hrome.*ppapi|[l]ibflashplayer\.so)'

foruman

  • Návštěvník
  • Příspěvků: 31
Re:firefox flash detekce script
« Odpověď #2 kdy: 29 Května 2015, 09:15:42 »
Super, díky tomu dostávám PID. Snad to není příliš smělé, dokazal by někdo zakomponovat tenhle dotaz do předchozího kodu ?

- zkoušel jsem dosadit pgrep pro libflash za původní dotaz, bohužel ani tak skript nefunguje

Respektive dochazí neustále k nahazovaní xscreensaveru a shazování. Taky sem koukal do procesu a v případě, že je tab s youtube zavřeny, PID s libflash stale existuje, jeho PID se změní až s dalším videem...

Děkuji.
« Poslední změna: 29 Května 2015, 21:54:07 od foruman »

 

Provoz zaštiťuje spolek OpenAlt.