Как Вы не даете спать машине?

У меня есть часть программного обеспечения выхода сервера, записанного в Java для работы Windows и OS X. (Это не работает на сервере, но просто ПК обычного пользователя - что-то как клиент потока.) Я хотел бы, чтобы программное обеспечение сигнализировало к ОС для бодрствования, машина (препятствуйте тому, чтобы он вошел в режим ожидания), в то время как это активно.

Конечно, я не ожидаю там быть кросс-платформенным решением, но я хотел бы иметь некоторые очень минимальные программы/сценарии C, которые мое приложение может породить для информирования ОС для бодрствования.

Какие-либо идеи?

27
задан chills42 3 November 2008 в 13:28
поделиться

10 ответов

Я использую этот код, чтобы помешать моей рабочей станции блокировать. Это в настоящее время только установлено переместить мышь один раз в минуту, Вы могли легко скорректировать его все же.

Это - взлом, не изящное решение.

import java.awt.*;
import java.util.*;
public class Hal{

    public static void main(String[] args) throws Exception{
        Robot hal = new Robot();
        Random random = new Random();
        while(true){
            hal.delay(1000 * 60);
            int x = random.nextInt() % 640;
            int y = random.nextInt() % 480;
            hal.mouseMove(x,y);
        }
    }
}
29
ответ дан ScArcher2 14 October 2019 в 12:54
поделиться

Я услышал истории людей, получающих большой сабвуфер, затем передаю запись на ленту по каналу крышки поля к вершине. Можно тогда поместить мышь в поле и сделать погромче музыку. Предпочтительно что-то с большим количеством баса, который будет поддерживать движение мыши вокруг.

22
ответ дан Casey Watson 18 July 2019 в 18:26
поделиться

Я просто сделал бы функцию (или загрузил бы бесплатное приложение), который перемещает мышь. Неэлегантный, но легкий.

1
ответ дан Paulj 14 October 2019 в 12:54
поделиться

Выполните команду в таймере как проверка с помощью ping-запросов сервера..

1
ответ дан Gulzar Nazim 14 October 2019 в 12:54
поделиться

Я использовал pmset для управления режимом ожидания на моем Mac некоторое время теперь, и довольно легко интегрироваться. Вот грубый пример того, как Вы могли назвать ту программу от Java для отключения/разрешения режима ожидания. Обратите внимание необходимость в полномочиях пользователя root выполнить pmset, и поэтому Вам будут нужны они для запущения этой программы.

import java.io.BufferedInputStream;
import java.io.IOException;

/**
 * Disable sleep mode (record current setting beforehand), and re-enable sleep
 * mode. Works with Mac OS X using the "pmset" command.
 */
public class SleepSwitch {

    private int sleepTime = -1;

    public void disableSleep() throws IOException {
        if (sleepTime != -1) {
            // sleep time is already recorded, assume sleep is disabled
            return;
        }

        // query pmset for the current setting
        Process proc = Runtime.getRuntime().exec("pmset -g");
        BufferedInputStream is = new BufferedInputStream(proc.getInputStream());
        StringBuffer output = new StringBuffer();
        int c;
        while ((c = is.read()) != -1) {
            output.append((char) c);
        }
        is.close();

        // parse the current setting and store the sleep time
        String outString = output.toString();
        String setting = outString.substring(outString.indexOf(" sleep\t")).trim();
        setting = setting.substring(7, setting.indexOf(" ")).trim();
        sleepTime = Integer.parseInt(setting);

        // set the sleep time to zero (disable sleep)
        Runtime.getRuntime().exec("pmset sleep 0");
    }

    public void enableSleep() throws IOException {
        if (sleepTime == -1) {
            // sleep time is not recorded, assume sleep is enabled
            return;
        }

        // set the sleep time to the previously stored value
        Runtime.getRuntime().exec("pmset sleep " + sleepTime);

        // reset the stored sleep time
        sleepTime = -1;
    }
}
2
ответ дан David Crow 14 October 2019 в 12:54
поделиться

Не было бы легче отключить управление питанием на сервере? Можно было бы утверждать, что серверы не должны входить в powersave режим?

2
ответ дан zigdon 14 October 2019 в 12:54
поделиться

Не был бы все предложения, перемещающие мышь назад и вперед, сводят пользователя с ума? Я знаю, что удалил бы любое приложение, которое сделает это, как только я могу изолировать его.

4
ответ дан zigdon 14 October 2019 в 12:54
поделиться

У меня есть метод очень "в лоб" перемещения мыши 1 точка в направлении X и затем обратно каждые 3 минуты.

Там может меня более изящное решение, но это - быстрое исправление.

6
ответ дан Keng 14 October 2019 в 12:54
поделиться

В Windows используйте функция SystemParametersInfo. Это - швейцарская функция армейского стиля, которая позволяет Вам получить/установить все виды параметров настройки системы.

Для отключения экрана отключение, например:

SystemParametersInfo( SPI_SETPOWEROFFACTIVE, 0, NULL, 0 );

Просто убедиться задержать его, когда Вы сделаны...

14
ответ дан Matt Dillard 14 October 2019 в 12:54
поделиться

Можно использовать программу Кофеин кофеин , чтобы не дать спать рабочей станции. Вы могли запустить программу через открытую команду в OS X.

2
ответ дан Milhous 14 October 2019 в 12:54
поделиться
Другие вопросы по тегам:

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