Есть ли способ приостановить / спать через bash?

Мне нужно получить девять 46-дюймовых ЖК-мониторов (работающих под управлением Windows), чтобы они ждали / спали в 8 часов вечера и просыпались в 8 часов утра каждое утро. Было немного беспорядочно пытаться заставить команды работать, включая привилегии. Я, прежде всего, пользователь Ubuntu, мне интересно, насколько легко это будет в Ubuntu / Linux.

Я знаю, что cron сможет запустить мою команду suspend / sleep в 8 вечера (что такое suspend / sleep) командовать в любом случае?), но как насчет того, чтобы разбудить машину в 8 утра без использования Wake-on-Lan или ручного вмешательства?

6
задан 10 January 2011 в 19:24

3 ответа

Команда

для приостановки - это pm-suspend, нажмите pm- и вкладку, чтобы увидеть другие команды управления питанием. Я не думаю, что будет возможность разбудить системы самостоятельно, поскольку сама ОС не работает. Вы можете иметь одну систему, предназначенную для пробуждения других систем в определенное время. Если вы не хотите приостанавливать или переводить в спящий режим, а просто минимизировать использование ресурсов, есть способы отключить жесткий диск или отключить только монитор и т. Д. Также есть команда pm-powersave.

0
ответ дан 10 January 2011 в 19:24

Только для монитора? Это решение из systembash.com работают на Вас? Упакуйте сценарий Bash в ящики для использования функции DPMS:

#!/bin/bash
# /usr/local/bin/monitorControl.sh
#
export DISPLAY=:0.0

if [ $# -eq 0 ]; then
    echo usage: $(basename $0) "on|off|status"
    exit 1
fi

if [ $1 = "off" ]; then
    echo -en "Turning monitor off..."
    xset dpms force off
    echo -en "done.\nCheck:"
    xset -q|grep "Monitor is"
elif [ $1 = "on" ]; then
    echo -en "Turning monitor on..."
    xset dpms force on
    echo -en "done.\nCheck:"
    xset -q|grep "Monitor is"
elif [ $1 = "status" ]; then
    xset -q|sed -ne 's/^[ ]*Monitor is //p'
else
    echo usage: $(basename $0) "on|off|status"
fi

И затем используйте записи крона для вызова его:

0 20 0 0 0 /usr/local/bin/monitorControl.sh off
0  8 0 0 0 /usr/local/bin/monitorControl.sh on

Иначе, если это не просто монитор, посмотрите на /etc/acpi/sleep.sh и /etc/acpi/hibernate.sh .

1
ответ дан 10 January 2011 в 19:24

Не думаю, что будет возможность разбудить системы самостоятельно, так как сама ОС не работает.

Фактически, перед тем, как приостановить работу системы, вы можете установить время или таймер пробуждения, используя внутренние аппаратные часы системы, с помощью команды "rtcwake": например, чтобы разбудить компьютер завтра 8:00:

sudo rtcwake -t `date -d "tomorrow 08:00:00" +%s` -m no

, затем вы можете использовать pm-suspend для приостановки системы.

0
ответ дан 10 January 2011 в 19:24

Другие вопросы по тегам:

Похожие вопросы: