1

Можно ли сделать так, чтобы мой Mac автоматически открывал веб-сайт в Safari при первом пробуждении только один раз в день?

Так, например, я прихожу на работу в 8:30 и просыпаюсь / загружаю свой Mac, и Safari автоматически открывается по определенному URL.

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

До следующего дня этот процесс повторяется (только при первом открытии сафари)

Извините, я не уверен, как даже Google для этого.

Я подумал, что, возможно, "Automator" может сделать что-то подобное, но я думаю, что это требует от меня, чтобы нажать на него вручную.

4 ответа4

5

Похоже, что здесь могут пригодиться launchctl или crontab . Я только знаю, как использовать crontab хотя.

Использование crontab

  1. Доберитесь до терминала (нажмите Command+SPACE, затем введите Terminal и нажмите Return)
  2. Введите EDITOR=nano crontab -e
  3. В этом редакторе введите @daily open -a safari http://<website to open to>
  4. Затем нажмите Control+X (не нажимайте Command)
  5. При подтверждении нажмите Y
  6. При вводе местоположения для сохранения, чтобы ничего не менять, просто нажмите Return

Это должно запустить Safari при первом входе в систему каждый день.

Источник open -a safari <url>: https://superuser.com/a/459271/670755

2

Здесь есть две части.

Во-первых, запуск приложения один раз в день. Я написал это в Bash на Linux, кто-то должен был проверить это. Кредит, где кредит должен быть, я потянул часть этого ответа для вызова сафари в bash

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

!/bin/bash
daydate=x`date +%j`

if [ -f $daydate.lockfile ];
then
        echo "task already run"
else
        rm *.lockfile; open -a safari http://www.example.com ;touch $daydate.lockfile
fi

По-английски - он использует команду date и создает переменную среды с текущим днем года с префиксом x. При первом запуске он не найдет нужный файл, попытается очистить файл блокировки (и потерпит неудачу, поскольку его там нет), откроет safari и создаст файл с именем x ddd .lockfile. Таким образом, если вы не выполните это ровно через год, это должно сработать.

При каждом другом запуске он будет проверять файл блокировки с текущим днем года. Если он существует, он будет отображать "задача уже запущена" (вы можете настроить это, чтобы ничего не делать, я полагаю). Иначе, он очистит предыдущие файлы блокировки, откроет safari для example.com и создаст файл блокировки. В теории вы могли бы иметь более уникальный идентификатор, чем номер дня (дата и год?) но это работает достаточно хорошо.

Затем вы захотите запустить это при входе в систему. Я еще не проверял этот бит, и я подозреваю, что есть более элегантный способ сделать это.

Этот SO-ответ предлагает несколько способов запуска этого bash-файла при входе в систему. Самый простой способ, который я вижу, это использование automator - позаимствовано из ответа mklement0.

  • Файл> Новый, тип приложения
  • Добавьте действие Run Shell Script, которое добавляет встроенный сценарий bash, и либо вставьте туда свой код сценария, либо добавьте команду, которая вызывает существующий сценарий оттуда.
  • Сохраните пакет * .app и добавьте его в список элементов входа в Системные настройки> Пользователь и группы> Элементы входа.

Добавьте сюда скрипт bash, и он должен проверять каждый раз, когда вы входите в систему, и делать свое дело.

1

Да, это возможно !

Выберите сафари из вашего дока

Если safari уже находится в вашей док-станции - либо в качестве постоянного устройства, либо потому, что приложение используется - щелкните правой кнопкой мыши (или удерживайте Control и щелкните) на значке. Если приложение не используется, вы увидите меню из трех пунктов. Если приложение используется, шаги такие же, но вы увидите еще несколько пунктов меню. Нажмите «Параметры» и выберите «Открыть при входе в систему».

установить открытый URL при запуске сафари

Откройте Safari, затем выберите «Safari»> «Настройки» и нажмите «Общие». Настройте эти параметры:

Новые окна открываются с помощью: Выберите домашнюю страницу. Домашняя страница: введите URL-адрес страницы, которую Safari должен отображать при открытии. Или нажмите Установить на текущую страницу, чтобы использовать URL-адрес страницы, которая в данный момент активна.

0

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

Если у вас есть возможность запускать скрипт при пробуждении, одним из подходов будет проверка метки времени скрытого файла, который вы создаете в домашнем каталоге пользователя. Если временная метка сегодня, ничего не делай. В противном случае запустите действие «Открыть URL-адрес», затем коснитесь скрытого файла, чтобы обновить его метку времени.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .