Как я могу автоматически запустить приложение, когда Mac бездействует?

15

Есть ли способ запуска приложения, такого как Transmission, каждый раз, когда компьютер бездействует (а не спит)?

Petruza
источник

Ответы:

7

Это очень трудный подвиг, в первую очередь потому, что нет конкретного определения «холостого хода». Единственные программы, которые я видел на самом деле с простаивающими функциями, - это клиенты обмена мгновенными сообщениями и последние выпуски Macl для Mac App Store . И те просто имеют настраиваемое время, которое проходит через заданное количество минут, когда не происходит никаких действий мыши / клавиатуры.

Несколько лет назад на форумах Macworld проводилось похожее обсуждение , и был опубликован специальный пост, который, по сути, влечет за собой создание и запуск AppleScript, который будет следить за вашим использованием и запускать приложение, когда вы «простаиваете».

property idleCheck : 20 as integer
property idleCheck_usr : 120 as integer
set timer to 0
on idle
    --Check idle time
    set idletime to do shell script "ioreg -c IOHIDSystem | awk '/HIDIdleTime/ {print int($NF/1000000000); exit}'"
    set idletime to idletime as string
    set idletime to idletime as integer

    tell application "System Events"
        if idletime is less than idleCheck then (* 20 is 20 seconds. If a key was tapped within the idleCheck seconds, it quits the app. *)
            tell application "TextEdit" to quit

            return idleCheck -- checks again in ... seconds
        else
            if idletime is greater than idleCheck_usr then (*  If a key was tapped after the idleCheck_usr seconds it opens the app. *)
                tell application "TextEdit" to launch   
            end if

            return idleCheck
        end if
    end tell
end idle

В этом случае простоя происходит только через 2 минуты, но вы можете легко изменить его на более длительный, если это необходимо. Вы также захотите изменить строку, чтобы открыть Transmission вместо TextEdit.

Обратите внимание, что вам придется открыть этот AppleScript и оставить его работающим, чтобы действие (запуск приложения в режиме ожидания) когда-либо происходило.

Джейсон Салаз
источник
7

Вы пробовали использовать сценарий ? Это в Mac App Store. Пока я сам не пробовал. Кажется, это может сделать то, что вам нужно. Надеюсь это поможет.

Кристиан Корреа
источник
Я собирался предложить запустить личную установку Condor на машине, но сценарий выглядит так, как будто он охватывает все те же основы и даже больше и зависит от Mac. Очень хорошо.
Ян С.
3

Как насчет Sleepwatcher ?

«SleepWatcher 2.2 (работает с Mac OS X 10.5–10.7, включая исходный код) - это инструмент командной строки (демон) для Mac OS X, который контролирует режим сна, пробуждение и бездействие Mac. Его можно использовать для выполнения команды Unix, когда Mac или дисплей Mac переходит в спящий режим или просыпается по прошествии определенного времени без участия пользователя, или когда пользователь возобновляет работу после перерыва или когда блок питания ноутбука Mac подключен или отсоединен. Mac в режиме ожидания или получить время с момента последней активности пользователя. "

Чтобы запустить приложение (используя команду), вам нужно сделать что-то вроде следующего:

open /Applications/Transmission.app
binarybob
источник
2

Power Manager можно использовать для запуска приложения после неактивности .

Как упоминает Джейсон в своем ответе, внедрение Apple в простое предсказать сложно. Power Manager использует показатель неактивности, основанный на активности пользователя; это легче предсказать и, скорее всего, будет то, что вы ищете.

Power Manager - запуск приложения после неактивности

Грэм Милн
источник
0

Если запуск экранной заставки - это то, что вы подразумеваете как идеал, вы можете взглянуть на ScriptSaver, который превращается в экранную заставку, а затем, когда он вызывается, он называет вашу рекламу AppleScript заставкой.

user151019
источник