由于工作较忙,随性更新。admin@stgod.com
linux机器运行一个监控程序,需要显示器一直亮着,不能黑屏,不能进入省电模式。
系统中没有安装gnome的电源管理程序,也没有安装屏幕保护程序。使用如下办法都无效:
设置bios
修改启动参数acpi=off,noapic
安装gnome-power-manager,设置从不黑屏
修改xorg.conf的DPMS选项和NoPM选项
修改nv的驱动参数
最后用xset来设置。有以下问题
将dmps的时间设置为10分钟以内的时间值,屏幕均可以到时自动黑屏,
设置大于10分钟后,空闲时间一到10分钟就黑屏,
很偶然的使用xset -q查看除dpms之外的其它参数时,发现了一个screensave的值为600。
原来dpms和屏保是互相作用的,这两个值谁设的小谁生效。
使用xset -q查看x的设置,可以看到屏保的时间是600秒,难怪dpms的值只对小于10分钟的时间有效
总结如下:
可以使用xset命令设置各项:
xset s 300 #设置屏保时间为300秒,时间单位为秒
xset s 0 #关闭屏幕保护(设置为0也可以关闭xset s 0 0)
xset dpms 600 900 1200 # 三个数值分别为Standby、Suspend、Off,具体什么意思就不多说了,单位秒(设置为0也可以关闭xset dpms 0 0 0 )
xset -dpms #关闭电源管理
也可以编辑xorg.conf
ServerLayerOut字段中添加如下几行:
Option "BlankTime" "5" #注意这里的时间值为分钟
Option "StandbyTime" "10"
Option "SuspendTime" "15"
Option "OffTime" "20"
时间值设置成0 就是关闭该项,
效果都是一样的。可以使用xset -q 查看设置情况。
xset b 0 可以关闭X下的铃声
xset b off都是一样的
----------------------------------------------
请一定要注意:X的屏幕保护和gnome的屏幕保护是不一样的,X的电源管理和gnome的电源管理也是不一样的。即使你的gnome桌面环境不安装屏幕保护程序,X的屏幕保护也会起作用(黑屏!),
如果你想要看遠端 PC 的顯示器( Monitor )狀態是開示關, 如果關了, 怎麼叫起來?只要有支援 DPMS 就好辦了.假設你有四台機器, 都不想它們 monitor 因為任何原因(例如省電)而關閉的. 或許你希望把它們叫起來.用下列 script 即可.前提是你已經建好 ssh key authentication , 可以用 ssh 不需密碼登入.
Java代码
#!/bin/sh
# monitoron.sh
nocpc="pc1 pc2 pc3 pc4"
user="xyz"
for i in $nocpc
do
ssh -l $user $i "DISPLAY=:0 xset -q |grep Monitor" |grep On > /dev/null
if [ $? -ne 0 ]; then
echo $i is off, turn on it
ssh -l $user $i "DISPLAY=:0 xset dpms force on"
fi
done
测试java代码
ssh xyz@pc3 "DISPLAY=:0 xset dpms force off
sh monitoron.sh