Linux下的屏保設置 xset s 與 xset dpms

Linux下的屏保設置 xset s 與 xset dpms
http://bbs.chinaunix.net/archiver/?tid-2112889.html

用xset q 可以查看當前屏保的設置情況,黑屏方式的屏保有兩種狀態:
1.    xset 的s參數後面可接兩個數字參數,前一個即是進入屏保的秒數,如果想立刻進入屏保:
    xset s 2 600  這樣,兩秒種後進入屏保。
    如果想恢復默認值,即比較長的時間進入屏保:xset s 0 600
    取消屏保:xset s off
2.    dpms 是屏保的另一種狀態,將其斷電,與關機後的顯示器同樣的效果:
    開啓:xset dpms 1 1 2
    取消:xset -dpms
==============================================================
關閉X的屏幕保護
http://adam8157.info/blog/2010/06/turn-off-x-screensaver/

查看xset的手冊後發現屏幕保護是由X的兩個部分控制的, 一個是BlankTime(較新的X中放在ScreenSaver選項中), 一個是DPMS. BlankTime設置的是黑屏, 也就是說只黑屏而不關顯示器電源,
對於液晶顯示器來說就是不關背燈. DPMS設置的是電源, 三個子選項Standby, Suspend和Off對於CRT顯示器是一個逐步關閉電源的過程, 對於液晶顯示器應該是一樣的.

正因爲X的屏幕保護由兩部分控制, 單純的關閉DPMS或者BlankTime都不行, 必須都關掉. 所以我在.xinitrc中加入了下面的命令, 具體解釋和其它xset命令參數見Manual.

xset s off
xset dpms 0 0 0

但是這樣暴力關閉顯得不大環保, 尤其是整宿不關機下載的情況, 可以選擇把DPMS和BlankTime的超時時間設置得久一點, 或者加一條alias用來手動關閉顯示器電源(筆記本沒顯示器開關).

alias soff='sleep 5 && xset dpms force off'

之所以sleep 5是爲了防止命令執行以後因爲手抖或者合上筆記本的蓋子而喚醒顯示器. 同時這也解釋了我爲什麼在上一步不用xset -dpms, 因爲關顯示器的時候會再次啓用DPMS模塊, 屏保又開始生效了,
而置0只是關屏保而不關DPMS, 留着這個模塊用來關顯示器. 還有一個原因在於有的桌面環境會不停得去檢測並啓用DPMS模塊, 無法簡單地關閉DPMS模塊.

此外, 如果你的筆記本電腦合上蓋子時dmesg能夠檢測到lid button信號, 可以在acpi的配置文件/etc/acpi/events/lm_lid設置相應的動作, 我的完全沒有檢測到, 也就沒有細研究了.

==============================================================
xset使用詳解
http://blog.sina.com.cn/s/blog_4dca847601009qhd.html

Xset是上層應用程序,主要用於在XWindow啓動之後,對XWindow進行一些設置,在Linux中比較好的一點就是當你不知一個命令的用法時可以使用man xset

首先
-display 根據英文字面的意思是指出是哪個display在跑這個Xserver,不過我試了好多次想用這個選項,還是沒有成功,所以具體怎麼用還是不知道。

-b 打開和關閉電腦的嘟嘟的提示音,比如我們打開文件的是否,出錯的時候發出的聲音。但是聽音樂還是可以照常聽的
xset b on
xset b off

如果xset後面跟的是一個數值,哪默認提示音是打開的,並且它的音量就是此數值/100*最大音量。
-bc 關閉調試版本兼容機制
bc 打開調試版本兼容機制
xset –bc
xset bc

c 控制鍵盤的按鍵聲 關閉/打開
xset c on
xset c off

dpms
xset –dpms 關閉電源之星
xset +dpms 打開電源之星,主要用來省電的
xset dpms 後面可以有三個參數的時間分別爲(standby,suspend, off)
例如可以這樣寫
xset dpms 0 0 30 這樣寫就會在30s後關閉顯示屏,進入省電模式。
同時這個選項還可以這樣寫
xset dpms force[standby|suspend|on|off]
可以強制進入以上四個模式

fp  雖然Xorg缺省已經支持了相當豐富的字體,但是還是有可能需要安裝新的字體,例如某種中文字體。X Window的字體應該在配置文件中設置其搜尋路徑,但在啓動X Window之後,也可以使用xset命令來重新設置字體的搜尋路徑。
xset fp+ :增加一個字體搜尋目錄。
xset fp- :刪除一個字體搜尋目錄。
xset fp= :重新設置字體搜尋目錄。
xset fp rehash:更改某個字體目錄中的內容後,強迫系統刷新字體搜尋路徑。

可以使用‘xset’使用工具來修改當前會話的字體路徑。用命令 xset fp 來設置字體路徑;把新元素添加到前面使用 xset +fp,而添加到後面使用 xset fp+。例如,
$ xset +fp /usr/local/fonts/Type1
$ xset fp+ /usr/local/fonts/bitmap
反過來,從字體的路徑的前面刪除一個元素使用‘xset -fp’,而從後面刪除使用‘xset fp-’。

Lcd 可以用來控制鍵盤上的Led燈主要有
xset -lcd
xset +lcd
在我的鍵盤上只有第三個燈在亮Scroll Lock,其它兩個都不能通過這個來控制,但是根據它上面說描述的好像鍵盤上所有的燈都可以控制的,但是我在實際的操作過程中,發現好像就只有第三個可以控制

Mouse這一選項是用來鼠標加速的,就跟windows有一個配置鼠標移動速度的很像
xset m 100/1 4
等同於xset m 100 4
不過這個要慎重設,雖然沒有什麼後果,但是100後鼠標移動速度超快根本看不到鼠標。

P 它說這一項是用來控制像素值的,但是我設置了後沒有什麼效果不知道爲什麼
xset p 0
界面顏色無任何效果

r用來設置鍵盤上重複按鍵的,可以這麼解釋,我們平常按住一個鍵的話比如長按1,在輸入處會出現很多的1,但是如果使用
xset  r off則此時無論你長按什麼鍵,它都只會出來一次,比如長按1,它只會出來一個1
還可以針對某一特定的值
xset –r 10就是將鍵盤上長按1的效果去掉了,其它的都還有長按的效果的。
xset –r 11就是將鍵盤上長按2的效果去掉了,其它的都還有長按的效果的。以此類推
它還有一些功能設置,比如按多就可以算是一個重複按鍵,你可以設置1s,2s(不過這種情況要在加載了Xserver的擴展module XKB extension後纔會有的功能)


s這個選項和screen saver有關,根據我的理解screen save的意思是屏保的意思,與前面的dpms有點相像,同樣具有省電的功能,總共有幾個選項exposure 可以屏保,noexposure不能屏保,屏保的時間可以使用
xset s 10 這樣的形式來確定,單位是s,如果沒有對其進行操作10s後進入屏保
xset s expose
xset s noexpose
bank和nobank是用來確定屏保的畫面
xset s blank (屏保後畫面爲黑色的)
xset s noblank(屏保後畫面是一個圖案,我的是一個X)

q這個選項沒有什麼其它的參數
xset –q 用來顯示我們上面配置的參數

==============================================================
Disable screensaver in ubuntu
http://www.diybl.com/course/6_system/linux/Linuxjs/20100222/195658.html

Solution 1:
Edit /etc/X11/xorg.conf file using the following command
sudo vi /etc/X11/xorg.conf
and add the following lines

Section “ServerFlags”
#other options can go here
Option “BlankTime” “0″
Option “StandbyTime” “0″
Option “SuspendTime” “0″
Option “OffTime” “0″
EndSection

Save and exit the file

Solution 2
Edit /etc/X11/xorg.conf file using the following command
sudo vi /etc/X11/xorg.conf

This effectively disables power management on your monitor Settings

Section “Monitor”
#other options can go here
Option “DPMS” “false”
EndSection

Save and exit the file and restart your machine

Solution 3
gconftool-2  –set “/apps/gnome-screensaver/idle_activation_enabled” –type boolean false

Solution 4
gnome-screensaver-command –inhibit

Solution 5
gnome-screensaver-comand –poke

==============================================================
xset 關閉屏幕保護-關閉節電模式
http://socol.iteye.com/blog/1039725

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 #關閉屏幕保護
xset dpms 600 900 1200 # 三個數值分別爲Standby、Suspend、Off,具體什麼意思就不多說了,單位秒
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 不需密碼登入.

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

測試
1. ssh xyz@pc3 "DISPLAY=:0 xset dpms force off  
2. sh monitoron.sh


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章