Dies scheint ein neues Problem mit Big Sur zu sein.
Ich habe „App Store und identifizierte Entwickler“ in Sicherheit und Datenschutz aktiviert, aber ich bin auf eine bestimmte App außerhalb des App Store gestoßen, die anscheinend nicht in die Kategorie „identifizierte Entwickler“ fällt.
Wenn ich versuche, die App zu öffnen, sagt sie mir: "Sie haben keine Berechtigung zum Öffnen der Anwendung". Wenn ich jedoch in Terminal gehe, kann ich sehen, dass ausführbare Berechtigungen für die App aktiviert sind, genau wie für jede andere App.
Was kann ich tun, um die App öffnen zu können?
Beim Spielen mit der Triangulator-App habe ich die folgenden Probleme in Big Sur gefunden:
sudo chmod -R 755 /path/to/app
.sudo xattr -dr com.apple.quarantine /path/to/app
.Sobald diese Probleme behoben sind, kann die Anwendung gestartet werden.
-Erich
sudo
wenn xattr
man das com.apple.quarantine
erweiterte Attribut von seinem eigenen Konto auf Dateien entfernt, die bereits vom Benutzer geschuldet wurden, der das erweiterte Attribut entfernt !Gute Nachrichten: Ich habe herausgefunden, wie ich das Problem für meine Apps lösen kann. (Spoiler-Alarm: Die Antwort für mich lautet: „Open in Rosetta“.)
Schlechte Nachrichten: Die gleiche Lösung wird wahrscheinlich nicht für alle funktionieren, wenn auch aus keinem anderen Grund, als ich glaube, dass die Leute dies auf Intel-Macs sehen.
Hier ist die Fehlermeldung, die ich erhalten habe, als ich versucht habe, eine der beiden Apps in zu öffnen ~/Library/Printers/
:
Versuchen Sie so etwas:
open ~/Library/Printers/Brother\ HL-2270DW\ series.app
würde zu diesem Fehler führen :
The application cannot be opened for an unexpected reason,
error=Error Domain=NSOSStatusErrorDomain Code=-10826
"kLSNoLaunchPermissionErr: User doesn't have permission to launch the app
(managed networks)" UserInfo={_LSFunction=_LSLaunchWithRunningboard,
_LSLine=2508, NSUnderlyingError=0x7fa98a43e450
{Error Domain=RBSRequestErrorDomain Code=5 "Launched process exited during launch."
UserInfo={NSLocalizedFailureReason=Launched process exited during launch.}}}
was überhaupt nicht hilfreich war.
`open -a 'Brother HL-2270DW series' hat nicht funktioniert.
Der Versuch, das Quarantäne-Flag zu entfernen, hat nicht funktioniert
Es gab keine Dateien, die nicht ausführbar waren, aber hätten sein sollen
Rechtsklick » Öffnen hat mich nicht aufgefordert, es überhaupt zu öffnen.
Das Setzen dieser Apps auf „In Rosetta öffnen“ löste das Problem sofort.
Ich weiß nicht warum.
Als ich versuchte, den Drucker zu installieren, wollte macOS ihn als generischen Drucker installieren. Das wollte ich nicht, also ging ich auf die Brother-Website und fand die offizielle Brother-Download-Seite für den HL-2270DW .
Nun, auf dieser Seite wird nur die Kompatibilität mit macOS 10.15 erwähnt, und ich verwende Big Sur, aber ich vermutete, dass es funktionieren würde, und war wahrscheinlich noch nicht für Big Sur aktualisiert worden, da einige Unternehmen dafür ewig brauchen.
Ich verwende iTerm als meine Standard-Terminal-App und habe es so eingestellt, dass es immer mit Rosetta geöffnet wird, was empfohlen wurde, damit das Brauen mit Big Sur auf M1-Macs funktioniert.
Infolgedessen wird alles, was ich tue, während ich iTerm verwende, so ausgeführt, als wäre dies ein Intel-Mac.
Hier ist der seltsame Teil:.pkg
Wenn ich auf ein stoße , das ich installieren muss, habe ichoftsudo /usr/sbin/installer
mit den richtigen Parametern ausgeführt wird. Die Chancen stehen also gut, dass ich die Brother-Treiber mit diesem Skript installiert habe.
In iTerm.
Laufen in Rosetta.
Spielt das eine Rolle? Ich habe wirklich keine Ahnung. Es ist durchaus möglich, dass ich dies mit der regulären Installer.app hätte installieren können und die gleiche Erfahrung gemacht hätte. Aber die Tatsache, dass ich die Drucker-Apps manuell so einstellen musste , dass sie unter Rosetta laufen, lässt mich zumindest fragen , ob das auch dann der Fall gewesen wäre, wenn die Installer-App als Apple Silicon-Prozess ausgeführt worden wäre.
Fazit: Das sollte ich wohl testen. Ich sollte wahrscheinlich auch aufhören, mein pkg-Installer-Shell-Skript in iTerm zu verwenden (ich kann es möglicherweise in Terminal.app verwenden, das ich als Apple Silicon-Prozess ausgeführt habe).
Profi-Tipp: Holen Sie sich das verdächtige Paket und legen Sie es als Standard-App für alle.pkg
Dateien fest. Es ist kostenlos und es ist fantastisch .
Ich habe die App lldb
folgendermaßen gestartet:
lldb ~/Library/Printers/Brother\ HL-2270DW\ series.app/Contents/MacOS/PrinterProxy
Sobald es fertig war, tippte ich run
und es funktionierte . Das war der erste Hinweis, dass „Open Using Rosetta“ das Problem lösen könnte, als ich mich daran erinnerte, dass iTerm unter Rosetta lief, was bedeutet, dass es lldb
als Intel-Prozess lief.
Es könnte eine Weile dauern, bis dieser eintaucht (zumindest für mich), aber eindeutig: „Haben Sie versucht, ihn unter Rosetta auszuführen?“ ist eine weitere Frage, die wir uns/anderen stellen sollten, wenn wir versuchen, Probleme auf M1-basierten Macs zu diagnostizieren.
Hatte dieses Problem mit Eclipse. Stolperte über die folgenden Ressourcen, die mich zur Lösung führten:
Auszug aus letzterem:
Eclipse ignoriert vollständig das langjährige Verbot von Apple, Apps selbst zu modifizieren. Ich vermute, dass dieses Problem in den vergangenen Jahren nicht behoben wurde, was bedeutet, dass sich die App selbst modifiziert und somit ihre eigene Code-Signatur bricht.
Das Erzwingen eines Ersetzens der Signatur der Anwendung hat es für mich behoben:
% codesign --force --deep --sign - /Applications/Eclipse.app
/Applications/Eclipse.app: replacing existing signature
Dies ist ein bekanntes, nicht vollständig gelöstes Problem mit einigen Apps, wahrscheinlich älteren Apps, die nicht für Big Sur aktualisiert wurden.
Hier sind einige andere Dinge, die Sie zusätzlich zu den bereits gegebenen Antworten ausprobieren können.
1. Legen Sie Berechtigungen nicht nur für das App-Bundle fest, sondern für alle darin enthaltenen Dateien (Sie haben dies möglicherweise getan, aber es ist aus dem, was bisher gesagt wurde, nicht klar):
Geben Sie im Terminal Folgendes mit dem abschließenden Leerzeichen ein
sudo chmod -R 755
Ziehen Sie dann das App-Bundle in das Terminalfenster, drücken Sie die Eingabetaste und geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.
2. Installieren Sie mit Terminal upx mit brew :
Wenn Sie Homebrew nicht installiert haben, können Sie es zuerst mit installieren
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Dann rennebrew install upx
Führen Sie dann diesen Befehl aus, ersetzen Sie den Teil nach durch den Pfad der ausführbaren Datei Ihrer App sudo upx -d
und geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden:
sudo upx -d /Applications/my_app.app/Contents/MacOS/my_app
Um ein App-Bundle zu öffnen und die ausführbare Datei zu finden, klicken Sie im Finder mit der rechten Maustaste darauf und klicken Sie auf „Paketinhalt anzeigen“.
3. Wenden Sie sich an den App-Entwickler, um Unterstützung oder eine aktualisierte Version der App zu erhalten.
Dies ist möglicherweise alles, was Sie zu diesem Zeitpunkt tun können, außer Ihren Mac wieder auf Catalina herunterzustufen.
Entfernen Sie das Attribut „Quarantäne“ aus der Datei über:
sudo xattr -d com.apple.quarantine *FILENAME*
Das sollte es beheben.
F.
Ich habe vielleicht eine Lösung. Überprüfen Sie, ob Sie zwei (oder mehr) Anwendungsordner haben. Sie sollten nur einen auf der obersten Ebene Ihrer Festplatte haben. Klicken Sie auf Ihre Festplatte und Sie sollten Ihren Hauptanwendungsordner (sowie Bibliothek, System und Benutzer) sehen. Wenn Sie Benutzer und Ihren Benutzernamen öffnen und dort einen Anwendungsordner mit den problematischen Apps sehen, haben Sie Ihr Problem gefunden. Verschieben Sie Ihre Apps in den Hauptanwendungsordner oder installieren Sie sie in diesem Ordner neu. Möglicherweise müssen Sie in den Wiederherstellungsmodus booten, Terminal starten und repairHomePermissions (Groß-/Kleinschreibung beachten) ausführen, damit die Installationen an die richtige Stelle gelangen.
JMD
TJ Luoma
Jaume
Jaume
Blechmann
TJ Luoma
TJ Luoma