Wie verhindere ich, dass mein Bildschirm entweder verdunkelt oder die Bildschirmsperre bei YouTube aktiviert wird?

97

Die Helligkeit meines Bildschirms wurde nach ein paar Sekunden gedimmt, um die Batterie zu schonen. Dies ist Standard in Ubuntu 12.04. Beim Video sollte es jedoch nicht abgedunkelt werden.

Dies funktioniert korrekt, wenn ich Videos mit nativen Anwendungen wie VLC anschaue. Mit In-Browser-Video wird der Bildschirm jedoch nicht daran gehindert, zu dimmen. Das ist sehr ärgerlich, da Sie den Cursor alle 10 Sekunden bewegen müssen.

Früher habe ich Mac OSX verwendet, wo ich die gleichen Dimmeinstellungen hatte und Flash-Videos korrekt berücksichtigt wurden.

Jeder, der eine Idee hat, wie Sie verhindern können, dass YouTube Ihren Bildschirm verdunkelt?

    
Steven Roose 02.08.2012, 13:09

20 Antworten

54

HOWTO: Deaktivieren Sie den Bildschirmschoner, während Flash ausgeführt wird

Führen Sie den folgenden Befehl im Terminal aus:

mkdir -p ~/bin

Öffnen Sie gedit oder Ihren bevorzugten Texteditor und geben Sie Folgendes ein:

#!/bin/bash

# Cleanup any bad state we left behind if the user exited while flash was
# running
gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled --type bool true

we_turned_it_off=0

while true; do
    sleep 60
    flash_on=0

    for pid in 'pgrep firefox' ; do
        if grep libflashplayer /proc/$pid/maps > /dev/null ; then
            flash_on=1
        fi

        ss_on='gconftool-2 -g /apps/gnome-screensaver/idle_activation_enabled'

        if [ "$flash_on" = "1" ] && [ "$ss_on" = "true" ]; then
            gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled \
                --type bool false
            we_turned_it_off=1
        elif [ "$flash_on" = "0" ] && [ "$ss_on" = "false" ] \
                && [ "$we_turned_it_off" = "1" ]; then
            gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled \
                --type bool true
            we_turned_it_off=0
        fi

    done
done

Speichern Sie diese Datei als ~/bin/flash_saver.sh .

Gehe zurück in das Terminal und rufe:

chmod +x ~/bin/flash_saver.sh

Um dies auszuführen, gehen Sie in das Terminal und tippen Sie:

~/bin/flash_saver.sh

Wenn Sie möchten, können Sie dieses Skript so einrichten, dass es bei der Anmeldung ausgeführt wird, indem Sie Folgendes ausführen:

  1. Führen Sie das Programm "Startup Applications"
  2. aus
  3. Klicken Sie auf "Hinzufügen"
  4. Unter dem Namenstyp "FlashMonitor" oder etwas, das Sie erkennen werden
  5. Unter Befehlstyp ~/bin/flash_saver.sh
  6. Unter Kommentar (wenn Sie möchten) geben Sie eine kurze Beschreibung ein. Z.B. "Stoppt den Bildschirm, wenn Flash ausgeführt wird"

Quelle: HOWTO: Bildschirmschoner deaktivieren, während Flash läuft - ubuntuforums

    
njallam 02.08.2012, 14:58
31

BEARBEITEN

Dies wird wahrscheinlich nicht funktionieren, wenn Sie eine Ubuntu-Version neuer als 12.04 verwenden (habe versucht in 13.04 und 13.10 und es funktioniert einfach überhaupt nicht). Es sieht so aus, als ob der Hauptentwickler in diesem Projekt nicht mehr funktioniert, also sind die Chancen, dass es repariert wird, nicht gut.

In meinem System (Ubuntu 11.10) verwende ich Caffeine . Sie können versuchen, ob es auch in Xubuntu funktioniert. Es fügt ein Symbol für den Infobereich hinzu, in dem Sie den Bildschirmschoner für einige Programme aktivieren / deaktivieren können. Um Caffeine zu installieren, gehen Sie folgendermaßen vor:

sudo add-apt-repository ppa:caffeine-developers/ppa
sudo apt-get update
sudo apt-get install caffeine

Dann in einem Terminal ausführen:

caffeine -p &

Sie können dann die Programme auswählen, die den Bildschirmschoner deaktivieren sollen:
vlc für VLC, mplayer für Movie Player, etc.

Ich hoffe, es hilft.

    
Salem 19.11.2011 13:35
14

Es gibt ein nettes kleines Skript auf GitHub namens lightsOn , das den gewünschten Trick machen soll.

Im Grunde wird nach Vollbildvideo gesucht (Flash in Firefox oder Chrom, MPlayer oder VLC) und wenn ja, deaktivieren Sie Xscreensaver und auch den Dimmbildschirm des Auto Power-Managers.

aus dem Skript selbst:

HOW TO USE: Start the script with the number of seconds you want the checks
for fullscreen to be done. Example:
 "./lightsOn.sh 120 &" will Check every 120 seconds if Mplayer,
 VLC, Firefox or Chromium are fullscreen and delay screensaver and Power Management if so.
 You want the number of seconds to be ~10 seconds less than the time it takes
 your screensaver or Power Management to activate.
 If you don't pass an argument, the checks are done every 50 seconds.

So rufen Sie das Skript aus Ihrem Autostart-Ordner als per my antworte hier .

Passen Sie das Skript an, ob Sie flash / vlc / mplayer ausführen

Denken Sie daran, dem Skript Ausführungsrechte zum Ausführen von d. h.

zu geben
chmod +x lightsOn.sh
    
fossfreedom 28.02.2012 17:55
10

Nicht ganz das, wonach Sie suchen, aber dieses kleine Skript würde jedes Mal, wenn es ausgeführt wird, eine Mausbewegung registrieren. Sie könnten es in Cron fallen lassen, um es einmal pro x-Zeit auszuführen. Das würde den Bildschirm davon abhalten, sich auszuschalten, und eine 1 1 Bewegung der Maus ist kaum bemerkbar, wenn sie läuft, wenn Sie NICHT ein Video sehen

#!/bin/bash
#move the mouse
xte 'mousermove 1 1' 

Ich habe diese Idee übrigens auch von einem xkcd-Comic bekommen. Pfandrecht

    
KentGeek 05.06.2013 19:19
7

Versuchen Sie für ein vorgerolltes Äquivalent zu dem von @njallam bereitgestellten Skript mit einem netten kleinen Gnome-UI-Element das Koffein-Applet:

Pfandrecht
Pfandrecht

    
andybuckley 03.08.2012 19:50
6

Webupd8 hatte einen Artikel über Caffeine und Lightsson.sh Deaktivieren Sie den Bildschirmschoner, während Flash- oder HTML5-Videos abgespielt werden. Das Lightson-Skript funktioniert sowohl für Firefox als auch für Chrome und kann so eingestellt werden, dass es VLC enthält. Ich hoffe, das wird helfen.

Falls der von Webupd8 zur Installation des Skripts bereitgestellte Code folgt:

mkdir -p ~/scripts && cd ~/scripts

wget https://raw.github.com/hotice/lightsOn/master/lightsOn.sh

chmod +x lightsOn.sh
    
Garry 10.06.2013 03:57
5

Sie sollten nicht nur die Optionen für den Bildschirmschoner überprüfen, sondern auch die Optionen für die Energieverwaltung, insbesondere die Option "Anzeige in den Ruhezustand versetzen, wenn inaktiv für ...".

Beachten Sie, dass es auf Laptops zwei Einstellungen mit diesem Namen gibt: wenn der Laptop mit Wechselstrom betrieben wird und wenn er im Akkubetrieb läuft.

    
daniel kullmann 28.07.2011 15:38
2

Verwenden Sie Koffein: ppa-Seite .

So installieren Sie:

sudo apt-add-repository ppa:caffeine-developers/ppa 
sudo apt-get update
sudo apt-get install caffeine

Vorgehensweise:

  1. Drücken Sie Alt + F2 und geben Sie caffeine ein.

  2. Klicken Sie auf das "Koffein" -Symbol und dann auf "Bildschirmschoner deaktivieren".

user128712 04.06.2013 12:03
2

Ein bisschen alt, aber hier ist es mit mehreren Browsern unterstützt:

#!/bin/bash -eu

# List your browsers here
browsers_list=( "firefox" "chrome" "chromium" "opera" )

# Cleanup any bad state we left behind if the user exited while flash was running
gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled --type bool true

idle_off=0

while true; do

    sleep 60

    for browser in "${browsers_list[@]}" ; do
    for pid in 'pgrep $browser' ; do

        flash_on=0
        if [ -O /proc/$pid/maps ] && grep libflashplayer /proc/$pid/maps > /dev/null ; then
            flash_on=1
        fi

        ss_on='gconftool-2 -g /apps/gnome-screensaver/idle_activation_enabled'

        if [ "$flash_on" = "1" ] && [ "$ss_on" = "true" ]; then
            gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled --type bool false
            idle_off=1
        elif [ "$flash_on" = "0" ] && [ "$ss_on" = "false" ] && [ "$idle_off" = "1" ]; then
            gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled --type bool true
            idle_off=0
        fi

    done
    done

done

Speichern Sie das Skript einfach irgendwo, chmod +x it, und fügen Sie es den StartupApplications hinzu. Es könnte einen Weg geben, alle verfügbaren Browser aufzulisten, indem man etwa wie folgt vorgeht:

update-alternatives --list x-www-browser

Aber ich weiß nicht, wie ich mit der Tatsache umgehen soll, dass einige ausführbare Dateien nicht den Namen als ihre Prozesse haben (zum Beispiel /usr/bin/google-chrome läuft als chrome ).

    
Sheljohn 06.06.2013 02:56
2

Für diejenigen, die einen anderen Bildschirmschoner als Gnome-Bildschirmschoner verwenden (der Standard-Bildschirmschoner in Ubuntu ab der 11.10-Version) dies Antwort kann hilfreich sein.

Persönlich habe ich Gnome-Bildschirmschoner für etwas anderes nicht geändert und, ich weiß nicht, aus welchen Gründen, Koffein funktioniert nicht für mich in irgendeiner Weise (vielleicht ist veraltet).

Davon abgesehen, ausgehend von anderen Bash-Skripten ( dies , dies und dies ) Ich habe ein neues Skript erstellt, gnome_screensaver_off.sh , das perfekt für das funktioniert, was ich beabsichtigt habe, wenn YouTube Flash Player zum Rendern von Videos verwendet.

Deaktiviere den Gnome-Bildschirmschoner, während YouTube Flash Player verwendet

Öffnen Sie ein Terminal und führen Sie die nächsten Befehle aus, gefolgt von Anweisungen:

  • mkdir -p bin - Dieser Befehl erstellt ein bin -Verzeichnis in Ihrem home -Ordner, falls Sie es noch nicht haben.
  • gedit ~/bin/gnome_screensaver_off.sh -dies erstellt die neue Datei gnome_screensaver_off.sh in gedit.
  • Kopieren Sie das nächste Skript und fügen Sie es dort ein:
#!/bin/bash

# Getting the previous configuration
back=$(gsettings get org.gnome.settings-daemon.plugins.power sleep-display-ac)

screensaver_is_off=0
delay=$[$back - 10]

# Defining the restore function
function restore {
    gsettings set org.gnome.settings-daemon.plugins.power sleep-display-ac $back
    gsettings set org.gnome.settings-daemon.plugins.power sleep-display-battery $back
    gsettings set org.gnome.desktop.session idle-delay $back

    bmin=$[$back / 60]
    #notify-send "Screen sleep time restored to $bmin minutes."

    notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "Screen sleep time restored to $bmin minutes."
}

# Defining the disable_screensaver function
function disable_screensaver {
    # Making sure the user don't mess up...
    trap 'restore && exit 0' INT HUP

    # Disabling sleep time
    gsettings set org.gnome.settings-daemon.plugins.power sleep-display-ac 0
    gsettings set org.gnome.settings-daemon.plugins.power sleep-display-battery 0
    gsettings set org.gnome.desktop.session idle-delay 0

    notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "Screen sleep time turned off."
}

while true; do
    if [ "$delay" -le "50" ]; then
        sleep 50
    else
        sleep $delay
    fi
    flash_on=0

    #Check if Chrome, Chromium or Firefox is open with a flash video running on it
    if pgrep -lfc ".*((c|C)hrome|chromium|firefox|).*flashp.*" > /dev/null ; then
            flash_on=1
    else
        flash_on=0  
    fi

    if [ "$flash_on" -eq "1" ] && [ "$back" -ne  "0" ] && [ "$screensaver_is_off" -eq "0" ]; then
        disable_screensaver
        screensaver_is_off=1
    elif [ "$flash_on" -eq "0" ] && [ "$screensaver_is_off" -eq "1" ]; then
        restore
        screensaver_is_off=0
    fi
done

exit 0
  • Speichern Sie die Datei und schließen Sie sie.
  • Gehen Sie zurück in Terminal und führen Sie: chmod +x gnome_screensaver_off.sh - um Ausführungszugriff für das Skript zu gewähren.
  • Um Ihr neues Skript auszuführen, führen Sie ~/bin/gnome_screensaver_off.sh .
  • aus

Wenn Sie möchten, können Sie dieses Skript so einrichten, dass es bei der Anmeldung ausgeführt wird, indem Sie Folgendes ausführen:

  1. Suchen Sie in Dash nach Startanwendungen , öffnen Sie es und klicken Sie auf Hinzufügen .
  2. Unter dem Namenstyp "YouTube Monitor" oder etwas, das Sie erkennen werden.
  3. Unter Befehlstyp "/home/$USER/bin/gnome_screensaver_off.sh" (ändern Sie $ USER mit Ihrem Benutzernamen).
  4. Geben Sie unter Kommentar (wenn Sie möchten) eine kurze Beschreibung ein (z. B. "Stoppt den Bildschirm, wenn Flash Player im Browser ausgeführt wird").

Deaktiviere den Gnome-Bildschirmschoner, während YouTube HTML5 Player

verwendet

Die Frage bleibt in diesem Sinne offen ...

Danke für die Vorschläge von: fossfreedom , Meer Borg , njallam , desgua und andere.

    
Radu Rădeanu 05.06.2013 18:22
2

Lösung für die HTML5-Wiedergabe in Chrome

Übersicht

Das folgende Skript deaktiviert den Bildschirmschoner, wenn eine aktive Vollbildschirm-Chrome-Sitzung gefunden wird. Standardmäßig wird alle 5 Minuten eine Überprüfung durchgeführt. Das Skript wird den Bildschirmschoner automatisch fortsetzen, wenn eine der folgenden drei Bedingungen erfüllt ist:

  • Fenster ist nicht Vollbild
  • Fenster ist nicht im Fokus
  • Fenster existiert nicht mehr

Skript

#!/bin/bash

## Variables ##

ChromeWmClass="Google-chrome"
FullScreenProperty="_NET_WM_STATE_FULLSCREEN"
CheckInterval="300" # check every 5 minutes

## Main ##

while true; do

  sleep "$CheckInterval"

  ActiveWinID=$(xdotool getactivewindow)

  if [[ -z "$ActiveWinID" ]]; then
    continue
  fi

  ActiveWinProp=$(xprop -id "$ActiveWinID")

  if echo "$ActiveWinProp" | grep "$FullScreenProperty" > /dev/null 2>&1 \
  && echo "$ActiveWinProp" | grep "WM_CLASS" | grep "$ChromeWmClass" > /dev/null 2>&1
    then
      if [[ -z "$SuspendingID" ]]; then
        echo "Suspending screensaver for $ActiveWinID"
        xdg-screensaver suspend "$ActiveWinID"
        SuspendingID="$ActiveWinID"
      elif [[ "$ActiveWinID" = "$SuspendingID" ]]; then
        echo "$ActiveWinID is already suspending  screensaver."
      elif [[ -n "$SuspendingID" ]]; then
        echo "Resuming screensaver for $SuspendingID"
        xdg-screensaver resume "$SuspendingID"
        echo "Suspending screensaver for $ActiveWinID"
        xdg-screensaver suspend "$ActiveWinID"
        SuspendingID="$ActiveWinID"
      fi
    else
      if [[ -n "$SuspendingID" ]] \
      && xprop -id "$SuspendingID" > /dev/null 2>&1
        then
          echo "Resuming screensaver for $SuspendingID"
          xdg-screensaver resume "$SuspendingID"
          SuspendingID=""
        else
          echo "No change."
      fi
  fi
done
    
Glutanimate 14.02.2015 22:47
2

Der einfachste nicht-intellektuelle Ansatz, der Desktop-unabhängig ist und sich auf xdotool stützt, wäre es, jeden N einen Schlüsselstrich zu simulieren Sekunden.

Ich benutze ein Skript namens heartbeat.sh :

#!/bin/bash
while : 
do
    nice -n 1 xdotool key shift
    date +%T ## show some sign of life
    sleep 100
done

Ich starte das Skript, während ich das Video abspiele, und stoppe es dann, wenn es nicht mehr benötigt wird.

xdotool kann mit sudo apt-get install xdotool installiert werden.

Wenn Sie auch eine automatische Audioerkennung wünschen, und sind Sie mit einem PulseAudio-spezifischen Rezept einverstanden, dann unten ist eine Variante der obigen Lösung, die prüft, ob Audio abgespielt wird:

#!/bin/bash

while : 
do
    if [[ ! -z $(pacmd list-sink-inputs | grep RUNNING) ]] ; then
        echo 'Audio is playing. Inhibiting screensaver'
        nice -n 1 xdotool key shift ;
    else
        echo 'No audio detected'
    fi
    date +%T ## show some sign of life
    sleep 100
done

Wenn Sie Alsa verwenden, wäre der Test wahrscheinlich etwas (ungetestet):

if [[ ! -z $(grep RUNNING /proc/asound/card*/pcm*/sub*/status) ]] ; then...

Ein möglicher Nachteil dieser Lösung ist, dass Ihr Bildschirm nicht einschläft, auch wenn Sie nur Musik oder Radio hören, aber ich nehme an, dass dies in den meisten Fällen kein Problem ist.

    
ccpizza 16.01.2016 22:55
1

Für diejenigen, die volle oder manuelle Kontrolle an ihren Händen mögen

Diese Befehlszeile kann die Verzögerungszeit des Bildschirmschoners einstellen:

gsettings set org.gnome.settings-daemon.plugins.power sleep-display-ac 0

Verwenden Sie "0" (Null), um es beizubehalten, oder einen anderen Wert, um die Verzögerung in Sekunden zu definieren.

Das folgende Skript hält den Bildschirm an, bis eine Taste gedrückt wird.

#!/bin/bash

# 
# To turn screen sleep time off for a while then back on
#
# by desgua 2013/01/27
#

# Getting the previous configuration
back=$(gsettings get org.gnome.settings-daemon.plugins.power sleep-display-ac)

# Defining the restore function
function RESTORE {

gsettings set org.gnome.settings-daemon.plugins.power sleep-display-ac $back
gsettings set org.gnome.settings-daemon.plugins.power sleep-display-battery $back
gsettings set org.gnome.desktop.session idle-delay $back

bmin=$(echo "$back / 60" | bc)
#notify-send "Screen sleep time restored to $bmin minutes."
echo
echo "Screen sleep time restored to $bmin minutes."
echo 

exit 0
}

# Making sure the user don't mess up...
trap 'RESTORE && exit 0' INT HUP

# Disabling sleep time
gsettings set org.gnome.settings-daemon.plugins.power sleep-display-ac 0
gsettings set org.gnome.settings-daemon.plugins.power sleep-display-battery 0
gsettings set org.gnome.desktop.session idle-delay 0

echo
echo "Screen sleep time turned off."
echo 

#notify-send "Screen sleep time turned off."

# Waiting for user to press some key and then restore the previous configuration
read -n 1 -p 'Press any key to turn it on again. ' b

RESTORE

exit 0

So führen Sie ein Skript aus:

  1. Kopieren Sie den Text in eine leere Datei,
  2. Speichern Sie die Datei,
  3. Machen Sie die Datei ausführbar,
  4. Führen Sie es von einem Terminal aus.
desgua 26.01.2013 17:47
1

Der VLC in dieser PPA ist nicht nur eine aktuelle Version von VLC implementiert auch die Bildschirmschoner-Inhibierung korrekt.

Sie können diesen PPA mit diesem Befehl hinzufügen

sudo add-apt-repository ppa:n-muench/vlc
    
Rob 29.09.2010 21:58
0

Sie können diesen Befehl einfach beim Start ausführen / setzen:

gconftool --type string --set /apps/compiz-1/plugins/fade/screen0/dim_unresponsive false   

Sie können auch versuchen, die Option Hardwarebeschleunigung auf Firefox zu deaktivieren?

    
karan 10.06.2013 08:41
0

Für diejenigen, die Ubuntu-Gnome 14.04 verwenden, gibt es eine einfache, aber nützliche Erweiterung namens Caffeine, die ein Toggle-Icon bietet, mit dem Sie das Lichtdimmen und das Bildschirmschoner-Verhalten von der oberen Leiste aus deaktivieren können .

Die Erweiterung kann nach diesem Link zur Gnome-Shell Extensions-Website installiert werden:

Pfandrecht

Quelle: Kommentarabschnitt in diesem Artikel:

Pfandrecht

    
jasikevicius23 11.02.2015 14:50
0

Das ist meine Lösung:

Pfandrecht

Pfandrecht

Laden Sie einfach die the-bund-light.sh herunter und fügen Sie sie der Start-Start-Anwendung hinzu:

sudo apt-get install xdotool

cd ~ && wget https://raw.githubusercontent.com/yanyingwang/shanghai-tools/master/kit/the-bund-light.sh

cat >> ~/.config/autostart/the-bund-light.sh.desktop <<EOF
[Desktop Entry]
Type=Application
Exec=$HOME/shanghai-tools/kit/the-bund-light.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[zh_CN]=TheBundLight
Name=TheBundLight
Comment[zh_CN]=
Comment=
EOF

ACHTUNG: Der Exec -Wert im Code sollte Pfad von the-bund-light.sh auf Ihrem Computer sein.

    
yanyingwang 19.02.2016 03:46
0

Es hängt etwas davon ab, welche Version von Ubuntu Sie verwenden. In 11.10 finden Sie "Systemeinstellungen", indem Sie auf das Zahnradsymbol in der oberen rechten Ecke des Bildschirms klicken. Wählen Sie diese Option, und wählen Sie im angezeigten Dialogfeld "Bildschirm". Sie können festlegen, wie lange der Computer inaktiv sein soll, bevor der Bildschirm mit dem Dropdown-Menü leer wird, oder Sie können diese Funktion deaktivieren, indem Sie auf die Schaltfläche "Sperren" klicken.

Wenn Sie ein älteres System haben, müssen Sie sich vielleicht anderweitig nach dieser Einstellung umsehen, aber es ist irgendwo da.

    
K. P. MacGregor 20.02.2012 01:11
0

Ich verwende das folgende Skript als Workaround:

#!/bin/bash
while true
do
   xdotool key Shift_L
   sleep 1m
done

Es wird simuliert, dass eine linke Umschalttaste einmal pro Minute gedrückt wird, wodurch verhindert wird, dass der Bildschirm abgedunkelt wird. Der Nachteil davon ist natürlich, dass Sie das Skript jedes Mal ausführen müssen, wenn Sie youtube sehen. Auf der anderen Seite ist es einfach und funktioniert mit den meisten, wenn nicht allen Konfigurationen.

Möglicherweise müssen Sie dies installieren

sudo apt-get install xdotool
    
Thomas Sejr Jensen 25.12.2016 16:28
0

Das obige Skript funktioniert bei Ubuntu 14.04 LTS Unity nicht. Hier ist seine aktualisierte Variante, die funktioniert:

#!/bin/bash

id_saved=0
sac_saved=0
sbat_saved=0
dim_saved=false

ss_save()
{
    id_saved='gsettings get org.gnome.desktop.session idle-delay'
    sac_saved='gsettings get org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout'
    sbat_saved='gsettings get org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout'
    dim_saved='gsettings get org.gnome.settings-daemon.plugins.power idle-dim'
}

ss_set()
{
    gsettings set org.gnome.desktop.session idle-delay ""
    gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout ""
    gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout ""
    gsettings set org.gnome.settings-daemon.plugins.power idle-dim ""
}

ss_on()
{
    ss_set "$id_saved" "$sac_saved" "$sbat_saved" "$dim_saved"
}

ss_off()
{
    ss_set 0 0 0 false
}

trap ss_on EXIT

already_off=0
flash_on=0
ss_save

while true; do
    if top -bcw 200 | sed -e '1,/PID/d' | head -1 | grep flash > /dev/null
    then
        flash_on=1
        off_count=0
    else
        off_count='expr $off_count + 1'
        echo "flash_off_count=$off_count"
        if [ $off_count -gt 5 ]; then
            flash_on=0
        fi
    fi

    if [ "$flash_on" = "1" -a "$already_off" = "0" ]; then
        echo "screensaver: off"
        ss_off
        already_off=1
    elif [ "$flash_on" = "0" -a "$already_off" = "1" ]; then
        echo "screensaver: on"
        ss_on
        already_off=0
    elif [ "$already_off" = "0" ]; then
        echo "screensaver: save possibly new params"
        ss_save # user may update the values
    fi

    sleep 30
done

Übrigens deaktiviert dieses Skript den Bildschirmschoner NUR, wenn das Video abgespielt wird, d. h. wenn sich der Flashplayer an der Spitze der CPU-Verbraucher befindet.

    
Andriy 02.01.2015 20:19

Tags und Links