Создание сервиса с автоматом, кофеин - PullRequest
0 голосов
/ 02 марта 2020

Прежде всего, извините за мой английский sh, а не носитель языка.
Так как я немного устал от открытия Termninal и ^C Я хочу создать ярлык для активации caffeinate -d на моем Ма c OS X 10.11
Я пробовал простую службу Automator, но с моими навыками noob это не работает.

Это настройки:
Я выбрал Сервис в качестве типа документа

Библиотека-> Утилиты-> Запуск сценария оболочки
Сервис получает: no input
в: any application
Оболочка: /bin/bash
Пропуск ввода: to stdin

CAFFEINATECHECK=`ps | grep caffeinate | cut -d ' ' -f7,8`
if [ $CAFFEINATECHECK == 'caffeinate -d' ]; then
killall caffeinate
else
caffeinate -d
fi

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

1 Ответ

0 голосов
/ 02 марта 2020

Я получил решение в дубликат на Ask Different

Короче, просто заменив мой код на более элегантные командные строки:

if [[ $(pgrep caffeinate) == "" ]]; then
    caffeinate -d &
else
    pkill caffeinate
fi 

Единственное изменение, которое я сделал внутри user3439894, заключалось в том, чтобы удалить '&' (обычно полезно в конце командной строки для запуска в фоновом режиме), потому что, по-видимому, Automator не работает с ним (позор, я не могу вспомнить, где Я читал / слышал, что ..!) .

После сохранения службы мне просто нужно было

  1. Открыть Системные настройки Клавиатура-> Ярлыки-> Службы
  2. Свяжите мой ярлык с моим сохраненным рабочим процессом, найденным в разделе «Общие» в правой панели

Таким образом, зубчатая шестерня ⚙ появляется на строке меню, когда ярлык с кофеином активирован и вращается, пока я не отключу его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...