关于我
 

xjpvictor's Blog
小老鼠,上灯台,两只耳朵竖起来

临时禁用屏保


各种折腾·flightgearkdelinux

本文最后编辑于超过3965天以前,部分内容可能已经失效

玩flightgear的时候是用的摇杆,但是屏保是不理会摇杆的动作的,所以经常飞一半就屏保了,然后还得晃晃鼠标,甚至有一次屏保以后X挂了,于是我毫无悬念的坠毁了。郁闷。所以在flightgear启动的时候禁用屏保。

网上找的脚本,在这里:https://raw.github.com/unhammer/lightsOn/68066bdaf645abd7f1b8e95fc7ae20b6d11d63fd/lightsOn.sh

其中和屏保有关的是这一段:

# reset inactivity time counter so screensaver is not started
if [ "$screensaver" == "kscreensaver" ]; then
  qdbus org.freedesktop.ScreenSaver /ScreenSaver SimulateUserActivity > /dev/null
else
  xscreensaver-command -deactivate > /dev/null
fi

#Check if DPMS is on. If it is, deactivate and reactivate again. If it is not, do nothing.    
dpmsStatus=`xset -q | grep -ce 'DPMS is Enabled'`
if [ $dpmsStatus == 1 ];then
  xset -dpms
  xset dpms
fi

也就是说xscreensaver的话是可以关闭的,而kde的kscreensaver则是要每隔一段时间模拟一个动作,让屏保以为鼠标动了一下。所以把flightgear的启动脚本改成:

#!/bin/bash

fgfs --fg-root=/usr/share/flightgear/data --show-aircraft | less
/home/xjpvictor/scripts/fgfs-disablescreensaver &
echo -e "\nSelect aircraft.."
read a
if [ $a ];then
  optirun fgfs --enable-fullscreen --fg-root=/usr/share/flightgear/data --fg-scenery=/home/xjpvictor/.fgfs/scenery:/home/xjpvictor/.fgfs/terrasync-scenery:/usr/share/flightgear/data/Scenery --disable-auto-coordination --prop:/sim/rendering/multi-sample-buffers=true --prop:/sim/rendering/multi-samples=4 --prop:/sim/rendering/multithreading-mode=CullThreadPerCameraDrawThreadPerContext --airport=ZSCN --aircraft=$a
else
  optirun fgfs --enable-fullscreen --fg-root=/usr/share/flightgear/data --fg-scenery=/home/xjpvictor/.fgfs/scenery:/home/xjpvictor/.fgfs/terrasync-scenery:/usr/share/flightgear/data/Scenery --disable-auto-coordination --prop:/sim/rendering/multi-sample-buffers=true --prop:/sim/rendering/multi-samples=4 --prop:/sim/rendering/multithreading-mode=CullThreadPerCameraDrawThreadPerContext --airport=ZSCN
fi

killall fgfs-disablescreensaver

另外新建一个脚本,/home/xjpvictor/scripts/fgfs-disablescreensaver

#!/bin/bash

while [ 1 ];do
  qdbus org.freedesktop.ScreenSaver /ScreenSaver SimulateUserActivity > /dev/null
  xset -dpms
  xset dpms
  sleep 120
done

试验了一下,效果不错,可以安心的飞不会出现屏保了。当然缺点是如果要飞overnight的话,屏幕会一直亮着,可以增加一个选项什么的,但我还在练五边,暂时不需要了。

本文 "临时禁用屏保" 由 K. Huang 首先发表于 xjpvictor's Blog 并以 CC BY-NC 4.0 许可证发布 © 2012
转载注明引用来源 https://blog.xjpvictor.info/2012/06/disable-screensaver/


推广:使用 Vultr 搭建属于你自己的博客,每月低至 2.5 美元,全球多数据中心,稳定高速

打赏我

评论

你的邮箱地址不会被公开。必填项以 * 标出

无意义或不相关评论将被删除

允许使用以下html标签:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

你可以上传文件,粘贴代码或长文至 Drop.it.r

本博客是言论不自由博客,评论只接受询问及赞同,不同观点请出门左转微博/发表于自己的博客。谢谢合作!

评论意味着你 同意 上传部分私人数据,包括邮箱和 IP, 这些数据不会被分享给第三方,不会用于商业用途或再推广用途。

更多相似文章