Buộc lệnh `open` để mở ứng dụng không dấu?


21

Tôi đã thiết lập tùy chọn Bảo mật của mình để cho phép các ứng dụng được tải xuống từ "Mac App Store và các nhà phát triển được xác định." Khi tôi cố gắng mở một ứng dụng chưa được ký:

open xyz.app

Tôi thấy như sau:

Không thể mở ứng dụng

Thông thường, tôi nhấp chuột phải vào ứng dụng và nhấp vào "Mở". Điều này mang đến một cuộc đối thoại tương tự, nhưng cuộc đối thoại này bao gồm nút "mở dù sao":

Không thể mở ứng dụng, với nút mở

Có cách nào để làm điều này chỉ bằng cách sử dụng openlệnh - đại loại như:

open --even-if-unsigned xyz.app

Câu trả lời:


33
  1. Tạo và thêm nhãn Gatekeeper vào ứng dụng. ('Được phê duyệt' là một chuỗi tùy ý.)

    spctl --add --label "Approved" /path/to/xyz.app
  2. Phê duyệt tất cả các ứng dụng với nhãn.

    spctl --enable --label "Approved"

    Điều này chỉ cần được thực hiện một lần và thêm nhãn cùng tên vào các ứng dụng trong tương lai sẽ tự động cho phép truy cập của chúng.

  3. Mở ứng dụng như bình thường.

    open xyz.app

Để biết thêm thông tin về spctl (bảo mật chính sách hệ thống SecAssessment), xem trang hướng dẫn.


3
À, một bổ sung mới vào danh sách những thứ mà trước đây tôi chỉ biết làm GUI-ly, và bây giờ có thể làm trên dòng lệnh! Cảm ơn!
LSpice

19

Bạn có thể loại bỏ kiểm dịch khỏi ứng dụng:

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

Bạn có thể muốn / cần sử dụng sudocho lệnh đó, tùy thuộc vào quyền.

Sau đó, Gatekeeper không liên quan gì cả. Tất nhiên, điều đó cũng có nghĩa là chữ ký không được xác minh, loại bỏ một tính năng an toàn quan trọng.


Tôi cũng thích câu trả lời này. Thật đáng tiếc tôi chỉ có thể chọn một!
bonh

Điều này làm việc cho cài đặt OpenJDK thủ công của tôi. Cảm ơn!
fachexot
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.