Gibt es eine Möglichkeit, OS X Lion anzuweisen, die automatische Beendigung für eine bestimmte Anwendung zu deaktivieren, die Sie nicht automatisch beenden möchten?
FYI Lion ist ein Quitter , wenn Sie es noch nicht wussten, was ist, wenn Sie es für eine bestimmte Anwendung nicht wollen.
Lion wird Ihre laufenden Anwendungen hinter Ihrem Rücken beenden, wenn es entscheidet, dass es die Ressourcen benötigt, und wenn Sie sie anscheinend nicht verwenden. Die Heuristik zur Feststellung, ob eine Anwendung „in Verwendung“ ist, ist sehr konservativ: Es darf nicht die aktive Anwendung sein, sie darf keine sichtbaren, nicht minimierten Fenster haben – und natürlich muss sie explizit die automatische Beendigung unterstützen.
Angenommen, ich möchte nicht, dass TextEdit automatisch beendet wird, wenn ich kein TextEdit-Fenster geöffnet habe und zu einer anderen Anwendung wechsle.
Nachdem ich mir den Abschnitt „Mac App Programming Guide“ für „Automatic Termination “ angesehen hatte, dachte ich, ich würde versuchen, den Schlüssel „NSSupportsAutomaticTermination“ mit dem Wert „No“ zur Datei „Info.plist“ für TextEdit hinzuzufügen. (Hat nicht funktioniert: TextEdit stürzt beim Öffnen ab.)
Zu beachten ist, dass die Datei den NSSupportsAutomaticTermination-Schlüssel nicht enthielt (was bedeutet, dass Apple NSProcessInfo verwendet hat , um die automatische Beendigung zu aktivieren), sodass das Hinzufügen eines Schlüssels wahrscheinlich sowieso keine Wirkung haben würde, da NSProcessInfo den Inhalt der Plist-Datei überschreibt. (Bestätigt, dass dies nicht funktioniert, indem TextEdit mit einer modifizierten Info.plist, die den NSSupportsAutomaticTermination-Schlüssel und den Wert No enthält, selbst signiert wurde).
Ein Nebeneffekt, der festgestellt wurde, ist, dass das Ändern von irgendetwas in der Info.plist-Datei dazu führt, dass TextEdit beim Öffnen abstürzt. Die Ursache wird aus dem Absturzprotokoll als „Code-Signatur ungültig“ vermerkt, was bedeutet, dass die TextEdit-App und alle ihre Inhalte verschlüsselt sind. Die Problemumgehung besteht darin, die App mithilfe des codesign
Befehls und eines selbstsignierten Stammzertifikats selbst zu signieren, wie in der Code Signing-Aufgabe beschrieben .
Nach dem, was ich bisher versucht habe, gehorcht TextEdit immer noch der automatischen Beendigung.
Dein Wunsch ist mein Terminalbefehl ;-)
defaults write -g NSDisableAutomaticTermination -bool yes
Beachten Sie, dass die automatische Beendigung die Anwendungen nicht wirklich beendet, sondern sie versteckt , sie müssen ordnungsgemäß beendet worden sein, damit dies wirksam wird.
Es gibt einen sicheren Weg, dies zu beheben, wenn Ihre Hardware dies unterstützt. Sie können ein Upgrade von Mac OS X 10.7 (Lion) auf Mac OS X 10.6 (Snow Leopard) durchführen.
Obwohl nicht alle Hardware, auf der Lion ausgeführt wird, dieses verbesserte Betriebssystem unterstützen kann (mein MacBook Air von Mitte 2011 leider nicht), enthält es Funktionen wie Nicht-Auto-Terminierung, Rosetta (was es Intel-Prozessoren ermöglicht, Software auszuführen, die für PPC kompiliert wurde Prozessoren) und Kompatibilität mit Per-App-Aufzeichnungsfunktionen im hervorragenden WireTap Studio.
Wie bei jedem Upgrade gehen einige Funktionen verloren (etwa Mission Control , Launch Pad , einige Gesten) und einige Macken des Betriebssystems sind gewöhnungsbedürftig (z. B. wird die Scrollrichtung umgekehrt), aber insgesamt ist es eine feines Upgrade.
jtbandes
Herr Daniel
Cajunluke
Herr Daniel
Benutzer479
Herr Daniel
daviesgeek
Nikolaus Barbulesco