Существует ли какая-либо переменная в Ubuntu (14.04), которую можно прочитать в bash-скрипте, чтобы узнать, в каком режиме находится компьютер (активный / спящий режим / режим ожидания)? Если да, можно ли посмотреть также, как долго работает текущий режим.
Я хотел бы сделать скрипт, который будет запускаться, когда компьютер переходит в спящий режим.
Тот же вопрос для переменной, которая сообщит, в каком состоянии находится монитор.
Там существует /etc/pm/sleep.d
папка, которая часто используется для выполнения , сценарии на приостанавливают/возобновляют .
типичная форма - это:
#!/bin/bash
case "$1" in
suspend)
# executed on suspend
;;
resume)
# executed on resume
;;
*)
;;
esac
я предположил бы, что Вы устанавливаете для, приостанавливают опцию, пишущий, что время приостанавливает в файл (эти date
, команда, самая легкая, вероятно, будет date +%s
для получения времени эпохи Unix), и та же идея для резюме, кроме Вас будет читать файл формы в переменную и вычислять различие с текущим временем.
Что-то вроде этого:
#!/bin/bash
case "$1" in
suspend)
# executed on suspend
date +%s > /tmp/suspend_time.txt
;;
resume)
# executed on resume
suspend_time=$(< /tmp/suspend_time.txt)
current_time=$(date +%s)
difference=$(($current_time-$suspend_time))
if [ $difference -gt 60 ]; # greater than 1 minute (60 seconds)
then
# put some kind of command you want to run here
fi
;;
*)
;;
esac
Примечание это - просто проект, и непротестированный, но это - вероятное предложение, за которым можно было следовать.
Это не возможно. Если Ваш компьютер находится в режиме ожидания или режиме приостановки, Ваша программа замораживается и не может выполнить код. Если Ваша программа работает, Ваш компьютер активен.
chsh.ldap -s /usr/bin/zsh myusername
дает мнеSegmentation fault
. – jchook 11 April 2018 в 11:21