You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.3 KiB
52 lines
1.3 KiB
2 years ago
|
#!/bin/bash
|
||
|
###
|
||
|
# @Author: Zhang Yueqian zhangyueqian@antiy.cn
|
||
|
# @Date: 2022-11-01 09:47:56
|
||
|
# @LastEditors: Zhang Yueqian zhangyueqian@antiy.cn
|
||
|
# @LastEditTime: 2022-11-01 13:45:07
|
||
|
# @FilePath: /screensaver/backend/medr-lightdm-dpms-enable
|
||
|
# @Description: 在lightdm(greeter)界面启用屏幕休眠功能
|
||
|
#
|
||
|
# 本程序需安装在 /usr/local/bin/ 目录下, 配置到 /etc/lightdm/50-medr-dpms.conf 文件中
|
||
|
###
|
||
|
|
||
|
# 休眠时间设置文件路径
|
||
|
TIMEOUT_FILE=/var/run/medr-lightdm
|
||
|
|
||
|
# 默认休眠时间(分钟)
|
||
|
DEFAULT_TIMEOUT=10
|
||
|
# 确认文件存在
|
||
|
if [ ! -f $TIMEOUT_FILE ]; then
|
||
|
touch $TIMEOUT_FILE
|
||
|
fi
|
||
|
|
||
|
# 获取休眠超时配置, 如果未设置或设置格式非数字, 则返回默认配置 $DEFAULT_TIMEOUT
|
||
|
function get_timeout() {
|
||
|
|
||
|
# 首先保证TIMEOUT文件可被修改
|
||
|
chmod 777 $TIMEOUT_FILE
|
||
|
|
||
|
# 读取TIMEOUT内容并确认为数字
|
||
|
TIMEOUT=$(cat $TIMEOUT_FILE)
|
||
|
|
||
|
case $TIMEOUT in
|
||
|
'' | *[!0-9]*) echo $DEFAULT_TIMEOUT ;;
|
||
|
*) echo $TIMEOUT ;;
|
||
|
esac
|
||
|
}
|
||
|
|
||
|
# 入口函数, 读取设置并调用xset
|
||
|
function main() {
|
||
|
# 读取超时配置并转换为秒
|
||
|
TIMEOUT=$(get_timeout)
|
||
|
TIMEOUT=$((TIMEOUT * 60))
|
||
|
|
||
|
# 必须的, 似乎是需要等待X启动
|
||
|
sleep 10
|
||
|
|
||
|
# 利用X的dpms功能触发屏幕休眠
|
||
|
xset dpms 0 0 $TIMEOUT
|
||
|
}
|
||
|
|
||
|
main &
|