Примушення команди "open" відкривати непідписаний додаток?


21

У мене налаштування безпеки встановлено, щоб дозволити програмам, завантаженим із "Магазин додатків Mac та визначених розробників". Коли я намагаюся відкрити непідписаний додаток:

open xyz.app

Я бачу таке:

Неможливо відкрити додаток

Зазвичай я клацаю правою кнопкою миші на програму і натискаю "Відкрити". Це викликає подібний діалог, але цей включає кнопку "відкрити все одно":

Неможливо відкрити додаток за допомогою кнопки відкриття

Чи є спосіб зробити це лише за допомогою openкоманди - щось на зразок:

open --even-if-unsigned xyz.app

Відповіді:


33
  1. Створіть та додайте до програми мітку Gatekeeper. ("Затверджено" - це довільна рядок.)

    spctl --add --label "Approved" /path/to/xyz.app
  2. Підтвердити всі програми з міткою.

    spctl --enable --label "Approved"

    Це потрібно зробити лише один раз, і додавання однойменної мітки до програм у майбутньому автоматично надає їм доступ.

  3. Відкрийте додаток, як зазвичай.

    open xyz.app

Для отримання додаткової інформації про spctl (безпеку системної політики SecAssesing) див. Сторінку man.


3
Ах, нове доповнення до списку речей, які я раніше лише знав, як робити GUI-ly, а тепер можу робити в командному рядку! Спасибі!
LSpice

19

Ви можете зняти карантин із програми:

xattr -r -d com.apple.quarantine /path/to/xyz.app

Ви можете хотіти / потрібно використовувати sudoдля цієї команди, залежно від дозволів.

Тоді Гейткер взагалі не бере участь. Звичайно, це також означає, що підпис не перевірено, що видаляє важливу функцію безпеки.


Я теж люблю цю відповідь. Шкода, що я можу вибрати лише одну!
bonh

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