Ekranımı karartmaktan mı yoksa YouTube'u izlerken başlatan ekran kilidi nasıl engellenir?

98

Pilin korunması için ekran parlaklığım birkaç saniye sonra kısıldı. Bu Ubuntu 12.04'te varsayılandır. Ancak video izlerken loş olmamalıdır.

VLC gibi yerel uygulamaları kullanarak videoları izlediğimde bu düzgün çalışıyor. Ancak tarayıcı içi videoda, ekran karartmadan engellenmez. Bu, imlecinizi her 10 saniyede bir hareket ettirmeniz gerektiğinden çok can sıkıcıdır.

Aynı karartma ayarlarına sahip olduğum ve Flash videoların doğru bir şekilde dikkate alındığı Mac OSX kullanıyordum.

YouTube'u nasıl oluşturabileceğinize dair bir fikir, ekranınızın karartılmasını önler mi?

    
sordu Steven Roose 02.08.2012 13:09

20 cevap

54

NASIL: Flash çalışırken ekran koruyucuyu devre dışı bırak

Aşağıdaki komutu terminalde çalıştırın:

mkdir -p ~/bin

Gedit'i veya tercih ettiğiniz metin düzenleyiciyi açın ve şunu yazın:

#!/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

Bu dosyayı ~/bin/flash_saver.sh olarak kaydedin.

Tekrar terminale dönün ve çalıştırın:

chmod +x ~/bin/flash_saver.sh

Bunu çalıştırmak için terminale gidin ve yazın:

~/bin/flash_saver.sh

İsterseniz, bu komut dosyasını aşağıdakileri yaparak oturum açmada çalışacak şekilde ayarlayabilirsiniz:

  1. "Başlangıç ​​Uygulamaları" programını çalıştırın
  2. "Ekle" yi tıklayın
  3. "FlashMonitor" ad türü veya tanıyacağınız bir şey
  4. Komut türü ~/bin/flash_saver.sh altında
  5. Yorumun altında (isterseniz) kısa bir açıklama yazın. Örneğin. "Flash çalışırken ekranın kapanmasını durdurur"

Kaynak: NASIL: Flash çalışırken ekran koruyucuyu devre dışı bırak - ubuntuforums

    
verilen cevap njallam 02.08.2012 14:58
31

DÜZENLEME

12.04'ten daha yeni bir Ubuntu sürümü kullanıyorsanız (13.04 ve 13.10'da denediyseniz ve hiç çalışmazsa) bu muhtemelen işe yaramaz. Bu projede ana geliştiricinin artık çalışmadığı görülüyor, bu yüzden sabitlenme şansı iyi değil.

Sistemimde (Ubuntu 11.10) Kafein kullanıyorum. Xubuntu'da da çalışıyorsa deneyebilirsiniz. Bazı programlar için ekran koruyucuyu etkinleştirebileceğiniz / devre dışı bırakabileceğiniz bir bildirim alanı simgesi ekler. Kafein yüklemek için aşağıdakileri yapın:

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

Ardından bir terminale geçin:

caffeine -p &

Daha sonra, ekran koruyucuyu devre dışı bırakacak programları seçebilirsiniz:
VLC için vlc , Film Oynatıcı için mplayer , vb.

Umarım yardımcı olur.

    
verilen cevap Salem 19.11.2011 13:35
14

İstediğiniz hile yapması gereken GitHub lightsOn 'da güzel küçük bir betik var.

Temel olarak tam ekran videosu (firefox veya krom, mplayer veya vlc'de flaş) arar ve eğer öyleyse xscreensaver ve otomatik güç yöneticisi loş ekran kabiliyetini devre dışı bırakır.

komut dosyasının kendisinden:

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.

Böylece, komut dosyasını her defalık olarak adresindeki otomatik başlatma klasörünüzden arayın. Buraya cevap verin .

Flash / vlc / mplayer çalıştırdığınız için komut dosyasını ayarlayın

betiği çalıştırmak için hakları çalıştırmayı unutmayın.

chmod +x lightsOn.sh
    
verilen cevap fossfreedom 28.02.2012 17:55
10

Tam olarak neyin peşinde olduğunuz değil, ancak bu küçük betik, her çalıştırıldığında bir fare hareketi kaydederdi. Her x-miktarını bir kez çalıştırmak için cronun içine bırakabilirsin. Bu, ekranın kapanmasını durduracak ve bir video izleyemediğinizde koşuyorsa, 1 1 fare hareketi farkedilemez.

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

Bu fikri bu arada bir xkcd çizgi romanından aldım. İşte

    
verilen cevap KentGeek 05.06.2013 19:19
7

@njallam tarafından sağlanan ve küçük bir Gnome UI öğesiyle sağlanan betiğe önceden eşdeğer bir eşdeğer için, Kafein uygulamasını deneyin:

İşte
İşte

    
verilen cevap andybuckley 03.08.2012 19:50
6

Webupd8, Kafein ve Lightson.sh hakkında makale içeriyordu. Flash veya HTML5 videoları oynatılırken ekran koruyucuyu devre dışı bırakın. Lightson komut dosyası hem Firefox hem de Chrome için çalışır ve VLC'yi içerecek şekilde ayarlanabilir. Umarım bu yardımcı olur.

Webupd8 tarafından komut dosyasını yüklemek için sağlanan kod aşağıdakileri takip ediyorsa:

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

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

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

Sadece ekran koruyucu seçeneklerini değil, aynı zamanda güç yönetimi seçeneklerini de kontrol etmelisiniz, özellikle "Ekranı, etkin değilken uyku moduna geçir ..." seçeneği.

Dizüstü bilgisayarlarda, bu isimde iki ayar bulunduğunu unutmayın: dizüstü bilgisayar AC gücüyle çalışırken ve pille çalışırken.

    
verilen cevap daniel kullmann 28.07.2011 15:38
2

Kafein kullanın: ppa sayfası .

Nasıl yüklenir:

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

Nasıl çalıştırılır:

  1. Alt + F2 tuşlarına basın, sonra caffeine yazın.

  2. "Kafein" simgesini tıklayın ve ardından "Ekran Koruyucuyu Devre Dışı Bırak" ı tıklayın.

verilen cevap user128712 04.06.2013 12:03
2

Biraz yaşlı, ancak burada birden çok tarayıcı desteği var:

#!/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

Sadece komut dosyasını bir yere kaydedin,%% o_adı ve bunu Başlangıç ​​Uygulamaları'na ekleyin. Kullanılabilir tarayıcıların tümünü aşağıdaki gibi kullanarak listelemenin bir yolu olabilir:

update-alternatives --list x-www-browser

Ancak, bazı yürütülebilir dosyaların işlemlerinden daha fazla adının bulunmadığını bilmiyorum (örneğin, chmod +x , /usr/bin/google-chrome olarak çalışıyor).

    
verilen cevap Sheljohn 06.06.2013 02:56
2

Gnome-ekran koruyucu dışında bir ekran koruyucu kullananlar için (bu, 11.10 sürümü ile başlayan Ubuntu'daki varsayılan ekran koruyucu) bu cevap yardımcı olabilir.

Şahsen, başka bir şey için gnome-ekran koruyucusunu değiştirmedim ve nedenini bilmiyorum, kafein benim için hiçbir şekilde çalışmaz (belki modası geçmiş).

Başkalarının bash betiklerinden başlayarak söylenenler ( bu , bu ve bu ) Yeni bir komut dosyası oluşturmayı başardım. YouTube video oluştururken Flash oynatıcısı kullandığında ne amaçla yaptığım için mükemmel bir şekilde çalışan gnome_screensaver_off.sh .

YouTube Flash oynatıcısı kullanırken gnome-ekran koruyucusunu devre dışı bırak

terminalini açın ve komutları takip eden sonraki komutları çalıştırın:

  • mkdir -p bin - bu komut zaten sahip değilseniz bin klasörünüzde home dizinini oluşturacaktır.
  • gedit ~/bin/gnome_screensaver_off.sh bu, gedit'teki gnome_screensaver_off.sh dosyasını oluşturacaktır.
  • Bir sonraki komut dosyasını kopyalayıp yapıştırın:
#!/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
  • Dosyayı kaydedin ve kapatın.
  • Terminal'e geri dönün ve çalıştırın: chmod +x gnome_screensaver_off.sh - komut dosyasının yürütme erişimine izin vermek için.
  • Yeni komut dosyanızı çalıştırmak için ~/bin/gnome_screensaver_off.sh dosyasını çalıştırın.

İsterseniz, bu komut dosyasını aşağıdakileri yaparak oturum açmada çalışacak şekilde ayarlayabilirsiniz:

  1. Başlangıç ​​Uygulamaları için Göster 'i arayın, açın ve Ekle ' yi tıklayın.
  2. "YouTube Monitor" adında veya tanıyacağınız bir şey altında.
  3. "/home/$USER/bin/gnome_screensaver_off.sh" komut tipinin altında (kullanıcı adınızla $ USER değerini değiştirin).
  4. Yorumun altında (isterseniz) kısa bir açıklama yazın (ör. "Flash oynatıcı tarayıcıda çalışırken ekranı kapatır").

YouTube HTML5 oynatıcısını kullanırken gnome-ekran koruyucu özelliğini devre dışı bırakın

Soru bu anlamda açık kalıyor ...

Teklifler için teşekkürler: fossfreedom , Meer Borg , njallam , desgua ve diğerleri.

    
verilen cevap Radu Rădeanu 05.06.2013 18:22
2

Chrome'da HTML5 oynatma çözümü

Genel Bakış

Aşağıdaki komut dosyası, etkin bir tam ekran Chrome oturumu bulduğunda ekran koruyucuyu devre dışı bırakır. Varsayılan olarak her 5 dakikada bir kontrol çalışır. Aşağıdaki üç koşuldan biri karşılandığında, komut dosyası otomatik olarak ekran koruyucuyu devam ettirir:

  • pencere tam ekran değil
  • pencere odakta değil
  • pencere artık mevcut değil

Senaryo

#!/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
    
verilen cevap Glutanimate 14.02.2015 22:47
2

Masaüstü-agnostik olan ve xdotool belgesine dayanan en basit non-entellektüel yaklaşım, her N'de bir anahtar vuruşunu simüle etmek olacaktır. saniye.

heartbeat.sh adlı bir komut dosyası kullanıyorum:

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

Videoyu oynatırken betiği başlatıyorum ve artık gerekli olmadığında onu durduruyorum.

xdotool , sudo apt-get install xdotool ile yüklenebilir.

Ayrıca bir tür otomatik ses algılaması yapmak istiyorsanız, ve , bir PulseAudio'ya özgü reçete ile tamamsınız, daha sonra sesin oynatıldığını kontrol eden yukarıdaki çözümün bir varyasyonu aşağıdadır:

#!/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

Alsa kullanıyorsanız, test muhtemelen (test edilmemiş) gibi bir şey olurdu:

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

Bu çözümün potansiyel bir dezavantajı, sadece müzik ya da radyo dinliyor olsanız bile ekranınızın uyumayacağıdır, ancak çoğu durumda bunun bir sorun olmadığını varsayalım.

    
verilen cevap ccpizza 16.01.2016 22:55
1

Ellerinde tam veya manuel kontrol gibi olanlar için

Bu komut satırı ekran koruyucu gecikme süresini ayarlayabilir:

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

Onu tutmak için "0" (sıfır) değerini veya gecikmeyi saniye cinsinden tanımlamak için başka bir değer kullanın.

Aşağıdaki komut, bir tuşa basılana kadar ekranı açık tutacaktır.

#!/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

Komut dosyası nasıl çalıştırılır:

  1. Metni boş bir dosyaya kopyalayın,
  2. Dosyayı kaydet,
  3. Dosyayı çalıştırılabilir yap,
  4. Bir terminalden çalıştırın.
verilen cevap desgua 26.01.2013 17:47
1

Geçerli bir sürüm olmanın yanı sıra bu PPA 'daki VLC VLC ayrıca ekran koruyucu engellemeyi de doğru şekilde uygular.

Bu PPA'yı bu komutu kullanarak ekleyebilirsiniz

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

Başlatma sırasında bu komutu basitçe yürütebilir / ayarlayabilirsiniz:

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

Ayrıca, firefox’ta donanım ivmesini seçeneğinin işaretini kaldırabilir misiniz?

    
verilen cevap karan 10.06.2013 08:41
0

Ubuntu-Gnome 14.04 kullananlar için, hafif bir karartma ve ekran koruyucu davranışını bir tıklama ile üst çubuktan devre dışı bırakmanızı sağlayan bir geçiş simgesi sağlayan Caffeine adlı basit ama kullanışlı bir Uzantı var. .

Uzantı, bu bağlantıyı Gnome-Shell Uzantıları web sitesine yükleyebilir:

İşte

Bu makaledeki

​​Kaynak: yorumlar 'bölümü:

İşte

    
verilen cevap jasikevicius23 11.02.2015 14:50
0

Bu benim çözümüm:

İşte

İşte

the-bund-light.sh dosyasını indirin ve başlangıç ​​uygulamasına ekleyin:

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

DİKKAT: koddaki Exec 's değerinin bilgisayarınızda the-bund-light.sh yolunun olması gerekir.

    
verilen cevap yanyingwang 19.02.2016 03:46
0

Ubuntu'nun hangi sürümünü kullandığınıza bağlıdır. 11.10'da, ekranın sağ üst köşesindeki dişli çark simgesini tıklayarak "Sistem Ayarları" nı bulabilirsiniz. Bunu seçin ve açılan iletişim kutusunda "Ekran" ı seçin. Ekranın açılır menüden önce boş kalacağı süreyi veya "Kilitle" etiketli düğmeyi tıklayarak bu özelliği devre dışı bırakabilirsiniz.

Daha eski bir sisteminiz varsa, bu ayar için başka bir yere bakmak zorunda kalabilirsiniz, ancak bir yerlerde var.

    
verilen cevap K. P. MacGregor 20.02.2012 01:11
0

Aşağıdaki komut dosyasını bir geçici çözüm olarak kullanıyorum:

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

Ekranın karartılmasını önleyen, her seferinde bir sol kaydırma tuşunu simüle eder. Bunun dezavantajı elbette, youtube'yu her izlediğinizde senaryonu çalıştırmak zorunda olmanız. Öte yandan, basittir ve hepsi olmasa da çoğu konfigürasyonla çalışır.

Bunu yüklemeniz gerekebilir

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

Yukarıdaki üstteki komut, Ubuntu 14.04 LTS Unity'de benim için çalışmaz. İşte çalışan güncellenmiş varyantı:

#!/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

BTW, bu betik video oynatılırken SADECE ekran koruyucuyu devre dışı bırakır, yani flashplayer CPU tüketicilerinin en üstünde olduğunda.

    
verilen cevap Andriy 02.01.2015 20:19

Etiketlerdeki diğer soruları oku