编辑:

编辑:

我使用的是 Debian 8,并使用带有 systemd 的 Linux 4.1.2 启动我的系统。我有一个工作脚本可以执行某些操作并暂停电脑。升级后,脚本不再起作用。当我切换到 systemd 时,它开始工作。

该脚本在按下电源按钮时起作用,但仅限于第一次。恢复后,按钮不起作用。盖子开关处理程序脚本根本不运行。

为什么会这样呢?

编辑:

/etc/acpi/actions/powerbtn-acpi-support.sh当按下电源按钮时,处理程序脚本 ( ) 似乎以某种方式运行两次。因此,挂起脚本会卡住,并且系统对下一次电源按钮按下事件没有响应。

/etc/acpi/events/powerbtn-acpi-support :

event=button[ /]power
action=/etc/acpi/actions/powerbtn-acpi-support.sh

编辑2:

作为此问题的解决方法,我更改了挂起脚本,如下所示:

#!/bin/bash

timestamp() {
  date +"%s"
}

lfile=/home/ceremcem/cca-suspend.log
echo "simply log the output" >> "$lfile"

ts_file="/tmp/suspend-timestamp"

if [ -f $ts_file ]; then 
    echo "timestamp file is found"
    prev=$(cat $ts_file)
    echo "previous run: $prev"
    time_diff=$(($(timestamp) -$prev))
    echo "which means $time_diff seconds ago"
    if [ $time_diff -lt 10 ]; then 
        echo "this script can not be run within 10 seconds..."
        exit 1
    fi
else
    echo "timestamp file is not found"
fi 

timestamp > "$ts_file"


if [[ $(id -u) > 0 ]]; then
    if [[ "$DISPLAY" == "" ]]; then 
        env >> "$lfile"
        sudo "$0" "$(whoami)"
    else
        env >> "$lfile"
        gksu "$0" "$(whoami)"
    fi
    exit
fi

if [[ "$1" == "" ]]; then 
    user="ceremcem"
else
    user="$1"
fi

echo "locking screen..."
/usr/local/bin/physlock -d -u $user

echo "suspending..."
pm-suspend

echo "exiting..."
exit 0

现在,只要按下电源按钮,电脑就会暂停...

相关内容