当前位置: 首页>>技术问答>>正文


在观看YouTube时如何防止我的屏幕变暗或screen-lock开始?

,

问题描述

几秒钟后,屏幕亮度会变暗以保存电池。这在Ubuntu 12.04中是默认的。然而,在观看视频时,它不应该暗淡。

当我使用本地应用程序(如VLC)观看视频时,此功能正常工作但是,使用in-browser视频时,屏幕不会变暗。这是非常烦人的,因为你必须每隔10秒左右移动一次光标。

我曾经使用Mac OSX,在那里我拥有相同的调光设置,并且正确地考虑了Flash视频。

任何人都知道如何让YouTube阻止你的屏幕变暗?

最佳解决办法

HOWTO:在Flash运行时禁用屏幕保护程序

在终端中运行以下命令:

mkdir -p ~/bin

打开gedit或者你喜欢的文本编辑器并输入:

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

将该文件保存为~/bin/flash_saver.sh

回到终端并运行:

chmod +x ~/bin/flash_saver.sh

要运行此操作,请进入终端并输入:

~/bin/flash_saver.sh

如果您愿意,可以通过执行以下操作将此脚本设置为在登录时运行:

  1. 运行程序”Startup Applications”

  2. 点击”Add”

  3. 在名称下键入”FlashMonitor”或您会认识的其他东西

  4. 在命令类型下~/bin/flash_saver.sh

  5. 根据评论(如果你想)输入简要说明。例如。 “Flash运行时停止屏幕关闭”

来源:HOWTO: Disable screen saver while Flash is running – ubuntuforums

次佳解决办法

EDIT

如果你使用的是比12.04更新的Ubuntu版本,这可能不会起作用(已经在13.04和13.10中试过了,它根本不起作用)。看来主要的开发人员不再在这个项目中工作了,所以它被修复的机会并不好。


在我的系统(Ubuntu 11.10)中,我使用Caffeine。如果它在Xubuntu中也可以使用,你可以试试。它添加了一个通知区域图标,您可以在其中启用/禁用某些程序的屏幕保护程序。要安装咖啡因,请执行以下操作:

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

然后在终端中执行:

caffeine -p &

然后,您可以选择应禁用屏幕保护程序的程序:适用于VLC的vlc,适用于电影播放器​​的mplayer等。

power-management,ubuntu

希望能帮助到你。

第三种解决办法

GitHub called lightsOn上有一个很好的小脚本,它应该可以做你想要的技巧。

基本上它会寻找全屏视频(在firefox或 chrome ,mplayer或vlc中闪光),如果是这样,禁用xscreensaver和自动power-manager昏暗的屏幕功能。

从脚本本身:


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.

因此请将您的自动启动文件夹中的脚本命名为per my answer here

调整脚本是否运行flash /vlc /mplayer

记得给脚本执行权限来运行即

chmod +x lightsOn.sh

第四种办法

并不完全是你想要的,但是这个小脚本每次运行时都会记录一次鼠标移动。你可以把它放到cron中,每x-amount-of时间运行一次。这将阻止屏幕关闭,并且在没有观看视频的情况下运行鼠标时,鼠标的运动几乎不会显著

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

顺便说一下,我完全从xkcd漫画中获得了这个想法。 http://xkcd.com/196/

第五种办法

对于与@njallam提供的脚本相当的pre-rolled,使用简洁的小Gnome UI元素,请尝试使用Caffeine小程序:

https://launchpad.net/caffeine http://ubuntu-tweak.com/app/caffeine/

第六种办法

Webupd8拥有关于Caffeine和Lightson.sh的article,以在Flash或HTML5视频播放时禁用屏幕保护程序。 Lightson脚本适用于Firefox和Chrome,并且可以设置为包含VLC。我希望这将有所帮助。

如果Webupd8提供的用于安装脚本的代码如下所示:

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

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

chmod +x lightsOn.sh

第七种办法

您不仅应该检查屏幕保护程序选项,还应该检查电源管理选项,特别是“将显示器置于睡眠状态以供… …停用时”选项。

请注意,在笔记本电脑上,有两种名称的设置:当笔记本电脑使用交流电源运行时以及使用电池运行时。

第八种办法

使用咖啡因:ppa page

如何安装:

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

如何运行:

  1. 击中Alt + F2,然后键入caffeine

  2. 点击”Caffeine”图标,然后点击”Disable Screensaver”。

第九种办法

有点旧,但这里有多种浏览器支持:

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

只需将脚本保存在chmod +x中,然后将其添加到StartupApplications。可能有办法使用类似于以下内容列出所有可用的浏览器:

update-alternatives --list x-www-browser

但我不知道如何处理这样一个事实,即某些可执行文件的名称不是其进程(例如/usr/bin/google-chromechrome的形式运行)。

第十种办法

对于那些使用除gnome-screensaver(这是Ubuntu 11.10版本的默认屏幕保护程序)以外的屏幕保护程序的用户,this answer可能会有所帮助。

就我个人而言,我没有更换gnome-screensaver作为别的东西,我不知道是什么原因,咖啡因不会以任何方式为我工作(可能已经过时)。

也就是说,从其他人的bash脚本(thisthisthis)开始,我设法创建了一个新脚本gnome_screensaver_off.sh,该脚本完全适合YouTube使用Flash播放器呈现视频时的意图。

YouTube在使用Flash播放器时禁用gnome-screensaver

打开terminal并运行下一条命令,然后执行指令:

  • mkdir -p bin – 如果您尚未拥有home文件夹,该命令将创建一个bin目录。

  • gedit ~/bin/gnome_screensaver_off.sh – 这将在gedit中创建新文件gnome_screensaver_off.sh

  • 复制并粘贴下一个脚本:

#!/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
  • 保存该文件并关闭它。

  • 返回到终端并运行:chmod +x gnome_screensaver_off.sh – 授予脚本的执行访问权限。

  • 要运行新脚本,请运行~/bin/gnome_screensaver_off.sh

如果您愿意,可以通过执行以下操作将此脚本设置为在登录时运行:

  1. 在Dash中搜索启动应用程序,打开它并单击添加。

  2. 在名称下键入”YouTube Monitor”或您会认识的其他东西。

  3. 在命令下键入“/home/$USER/bin/gnome_screensaver_off.sh”(用您的用户名更改$ USER)。

  4. 根据评论(如果需要),请输入简要说明(例如,“Flash Player在浏览器中运行时停止屏幕关闭”)。

YouTube在使用HTML5播放器时禁用gnome-screensaver

在这个意义上,问题依然存在……

感谢您提供的建议:fossfreedomMeer Borgnjallamdesgua等。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/599.html,未经允许,请勿转载。