Esiste un modo per disabilitare la chiusura automatica delle applicazioni di OS X?

11

C'è un modo per dire a OS X Lion di disabilitare la terminazione automatica per una data applicazione che non vuoi terminare automaticamente?

FYI Lion è un quitter se non lo sapessi già, e se non vuoi che sia per un certa applicazione.

Lion will quit your running applications behind your back if it decides it needs the resources, and if you don’t appear to be using them. The heuristic for determining whether an application is “in use” is very conservative: it must not be the active application, it must have no visible, non-minimized windows — and, of course, it must explicitly support Automatic Termination.

Ad esempio, supponiamo che non voglia che TextEdit si chiuda automaticamente quando non ho finestre di TextEdit aperte e passa a un'altra applicazione.

Dopo aver dato un'occhiata a Sezione Mac Programming Programming Guide per la terminazione automatica Ho pensato di provare ad aggiungere la chiave NSSupportsAutomaticTermination con il valore No al file Info.plist per TextEdit. (Non ha funzionato: TextEdit si arresta in modo anomalo all'apertura.)

Da notare, il file non includeva la chiave NSSupportsAutomaticTermination (il che significa che Apple stava usando NSProcessInfo per abilitare la terminazione automatica), quindi l'aggiunta di una chiave non avrebbe probabilmente alcun effetto poiché NSProcessInfo sovrascrive ciò che si trova nel file Plist. (Verificato che questo non funziona, autofirmando TextEdit con un Info.plist modificato inclusa la chiave NSSupportsAutomaticTermination e il valore di No).

Un effetto collaterale notato è che la modifica di qualsiasi cosa nel file Info.plist causa l'arresto anomalo di TextEdit all'apertura. La causa viene annotata dal registro degli arresti anomali come "firma codice non valida", il che significa che l'app TextEdit e tutto il suo contenuto sono firmati dal codice. La soluzione alternativa è di firmare automaticamente l'app utilizzando il comando codesign e un certificato radice autofirmato come indicato in Attività di firma dei codici .

Dopo ciò che ho provato finora, TextEdit rispetta ancora la terminazione automatica.

    
posta MrDaniel 16.04.2012 - 18:03
fonte

2 risposte

14

Il tuo desiderio è il mio comando Terminale; -)

defaults write -g NSDisableAutomaticTermination -bool yes

Nota che poiché la terminazione automatica non chiude realmente le applicazioni, ma le nasconde , è necessario che siano state chiuse correttamente affinché ciò abbia effetto.

    
risposta data 13.05.2012 - 21:36
fonte
1

C'è un modo infallibile per risolvere questo problema, se l'hardware lo supporta. Puoi eseguire l'aggiornamento da Mac OS X 10.7 (Lion) a Mac OS X 10.6 (Snow Leopard).

Anche se non tutto l'hardware che eseguirà Lion può supportare questo sistema operativo migliorato (purtroppo, a metà 2011 MacBook Air no), include funzionalità come la non-auto-terminazione, Rosetta ( che consente ai processori Intel di eseguire software compilato per processori PPC) e compatibilità con le funzionalità di registrazione per-app nell'eccellente WireTap Studio.

Come con qualsiasi aggiornamento, alcune funzionalità sono perse (come Controllo missione , Launch Pad , alcuni gesti) e alcuni aspetti del sistema operativo si prendono un po 'per abituarsi (il la direzione dello scorrimento è invertita, ad esempio), ma tutto sommato, è un bel aggiornamento.

    
risposta data 16.04.2012 - 22:58
fonte

Leggi altre domande sui tag