Автоматично запускати сафарі з певним URL-адресою вперше, коли мак прокидається / завантажується за день?


1

Чи можна змусити мого Mac автоматично відкривати веб-сайт на сафарі в перший раз, коли його прокидають лише раз на день?

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

Але потім я йду на обід і вимикаю його / примушу спати і повертаюся через годину, і цього разу нічого не відбувається. І, можливо, у мене зустріч і повернусь пізніше, і все одно нічого не відбувається.

До наступного дня цей процес повторюється (відкриваючи сафарі лише перший раз)

Вибачте, я не впевнений, як це навіть зробити Google.

Я думав, що, можливо, "Автоматизатор" може зробити щось подібне, але я думаю, що це вимагає від мене вручну натиснути на нього.

Відповіді:


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 на ваші точні потреби, і це, ймовірно, повинно бути встановлено для жорсткого коду повного шляху або запуску в певній папці для акуратності. Як і, сценарій Це мінімальний, працездатний приклад, хоча. Я підозрюю, що певний синтаксис відкритої команди може знадобитися налаштування, і ви, можливо, захочете повністю жорстко зафіксувати шлях блокування файлів, щоб бути повністю безпечним.

!/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. При першому запуску він не знайде dddшуканий файл, спробу очистити файл блокування (і не вдасться, оскільки його немає), відкриє сафарі і створить файл під назвою x .lockfile. Таким чином, якщо ви не запускаєте це рівно один рік, це має спрацювати.

Під час кожного іншого запуску програма перевірятиме блокування файлів із поточним днем ​​року. Якщо вона існує, вона буде лунати "завдання вже запущене" (ви можете встановити це, щоб нічого не робити). Крім того, ви очистите попередні файли блокування, відкрийте safari на example.com та створіть файл блокування. Теоретично у вас може бути більш унікальний ідентифікатор, ніж номер дня (дата та рік?), Але це працює досить добре.

Потім ви хочете запустити це під час входу. Я ще цього не тестував, і підозрюю, що є якийсь більш елегантний спосіб зробити це.

Ця відповідь ТА пропонує кілька способів запустити цей файл bash під час входу . Найпростіший спосіб, який я бачу, - це використання автоматизатора - запозиченого з відповіді mklement0

  • Файл> Створити, введіть програму
  • Додайте сценарій Run Shell Script, який додає вбудований скрипт bash, або вставте туди свій скрипт або додайте команду, яка викликає звідти вже існуючий сценарій.
  • Збережіть пакет * .app та додайте його до списку елементів входу в системних налаштуваннях> Користувачі та групи> Елементи входу.

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


1

Так, це можливо!

Виберіть сафарі зі своєї доки

Якщо сафарі вже знаходиться у вашій док-станції - або як постійне кріплення, або через те, що додаток використовується - клацніть правою кнопкою миші (або утримуйте клавішу Control і натисніть) на піктограму. Якщо додаток не використовується, ви побачите меню з трьома елементами. Якщо додаток використовується, кроки ті ж, але ви побачите ще кілька варіантів меню. Клацніть Параметри та виберіть Відкрити при вході.

встановіть URL-адресу відкритої при запуску сафарі

Відкрийте Safari, потім виберіть Safari> Налаштування та натисніть Загальне. Відрегулюйте ці налаштування:

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


1
як ти переконаєшся, що це тільки перший раз за день Тхо? В іншому випадку звучить правдоподібно
Journeyman Geek

Гей, я бачу, як працює ваше рішення, але це означає, що кожна нова вкладка, яку я відкриваю, буде відкрита за цією URL-адресою (яка запускає спливаюче вікно та інші речі), тому це може бути незручно. Я шукав рішення більше за сценарієм.
Почі

0

У OS X немає вбудованих тригерів для запуску дій у режимі сну або неспання, але є кілька сторонніх рішень - див. Відповіді на це питання на кілька варіантів (цьому питання вже кілька років, але, безумовно, деякі згадані додатки все ще існують).

Після того, як у вас є можливість запустити скрипт під час пробудження, одним із підходів буде перевірка часової позначки прихованого файлу, який ви створюєте в домашньому каталозі користувача. Якщо часова мітка сьогодні, нічого не робіть. В іншому випадку запустіть дію "відкритий URL", а потім торкніться прихованого файлу, щоб оновити його часову позначку.


ОП запитує, як зробити дію при першому вході в систему кожного дня. У macOS існує багато методів робити щось щодня (і якщо комп'ютер вимкнений, коли він намагається чекати, поки він прокинеться).
тимотрей

Можливо, це не так, як я це читав. Вони нічого не говорять про вхід чи вихід. Вони сказали, що хочуть, щоб це сталося "вперше, коли його прокидають щодня", що для мене включає "навіть якщо я не вийшов з вчорашнього дня".
calum_b

Ти правий. Я тлумачив "пробудження" як "увійти".
тимотрей
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.