Wie kann ich eine App von einem unbekannten Entwickler öffnen, ohne die GUI zu verwenden?

13

Grundsätzlich habe ich den nativen Safari.appWebbrowser verwendet, um eine Drittanbieteranwendung herunterzuladen, und ich möchte opensie bequem von meiner bashShell / Terminal.appCLI aus ausführen . trotz folgender Fehlermeldung:

“<unidentified_thirdparty.app>” cant be opened because it is from an unidentified 
 developer. Your security preferences allow installation of only apps from the Mac 
 App Store and identified developers. Safari downloaded this file on <today's_date> 
 from <the.inter.net>.
                                          |[OK]|
Stimmen
quelle

Antworten:

31

Sie werden entweder die Einstellungen unter ändern müssen Systemeinstellungen > Sicherheit und Datenschutz > Allgemein > Ermöglicht Anwendungen heruntergeladen von: bis überall oder in einem Terminal - , Streifen das xattr com.apple.quarantine Attribut aus der heruntergeladenen Datei (en).

xattr -dr com.apple.quarantine "unidentified_thirdparty.app"
user3439894
quelle
Mir war die GUI-Methode bekannt. Der nächste Teil sieht jedoch genau richtig aus. Worauf bezieht sich das com.apple.quarantineArgument (Attribut) genau ?
Stimmen
1
@ tjt263, Entschuldigung, ich habe Ihren Kommentar bis jetzt nicht gesehen ... Alle Dateisystemobjekte haben Attribute, z. B. Informationen, die Sie in der Ausgabe des ls -l fileBefehls sehen würden. Dateisystemobjekte haben auch erweiterte Attribute, von denen com.apple.quarantineeines Objekten zugeordnet ist, die von OS X aus dem Internet heruntergeladen wurden, um eine willkürliche Ausführung und damit eine Schutzstufe des Systems zu verhindern. Bei Verwendung von ls -lR@ fileoder xattr −lr filewerden erweiterte Attributinformationen angezeigt, wobei letztere umfangreichere Informationen ausgeben. Siehe man xattrfür weitere Informationen.
user3439894
Beeindruckend. Das ist interessant. Das wusste ich nicht. Haben andere Betriebssysteme so etwas?
Stimmen
Sie können auch entweder mit der rechten Maustaste (auch als Strg-Klick bezeichnet) klicken und "Öffnen" auswählen, um nur diese App ausführen zu können.
Hawken Rives
1
@ HawkenRives, Ja, es handelt sich um eine globale Einstellung, nicht um das tatsächliche Ausführen oder Öffnen der Datei, wie dies durch Klicken mit der rechten Maustaste auf die Datei der Fall ist. Verwenden Sie einen xattrTeil meiner Antwort, um die Befehlszeile und das Terminal abzudecken.
user3439894
0

Geben Sie dies im Terminal unter einem Administratorkonto ein: sudo spctl --master-disable

John Smith
quelle
Dadurch wird Gatekeeper vollständig ausgeschaltet. Und es ist keine Antwort auf die Frage.
l1ghthouse
0

Um es mit Bedacht in der Kommandozeile zu tun

  • attr -p com.apple.quarantine unidentified_thirdparty.app gibt so etwas wie aus 0081;5e7fec61;Chrome;6585C1D3-E260-4275-9E6E-505DF8D6B7EE
  • Kopieren Sie die Ausgabezeichenfolge und ersetzen Sie die ersten 4 Zeichen durch 00c1
  • Lauf attr -w com.apple.quarantine 00c1;5e7fec61;Chrome;6585C1D3-E260-4275-9E6E-505DF8D6B7EE unidentified_thirdparty.app

oder

Kombiniert diese Schritte zu einem einzigen Befehl

attr -w com.apple.quarantine "$(attr -p com.apple.quarantine unidentified_thirdparty.app | sed 's/^.\{4\}/00c1/' )" unidentified_thirdparty.app

Mein Blogbeitrag dazu.

transang
quelle