¿Hay alguna forma de deshabilitar la terminación automática de aplicaciones de OS X?

10

¿Hay alguna forma de indicar a OS X Lion que deshabilite la terminación automática para una aplicación determinada que no desea que finalice automáticamente?

FYI Lion es un quitter si aún no lo sabía, y si no quiere que sea para un cierta aplicación.

  

Lion dejará tus aplicaciones en ejecución a tus espaldas si decide que necesita los recursos y si no pareces estar usándolos. La heurística para determinar si una aplicación está "en uso" es muy conservadora: no debe ser la aplicación activa, no debe tener ventanas visibles, no minimizadas, y, por supuesto, debe admitir explícitamente la terminación automática.

Por ejemplo, digamos que no quiero que TextEdit se cierre automáticamente cuando no tengo abiertas las ventanas de TextEdit y cambio a otra aplicación.

Después de echar un vistazo a Sección de la Guía de programación de la aplicación Mac para terminación automática Pensé que intentaría agregar la clave NSSupportsAutomaticTermination con el valor de No al archivo Info.plist para TextEdit. (No funcionó: TextEdit se bloquea al abrir.)

A destacar, el archivo no incluía la clave NSSupportsAutomaticTermination (lo que significa que Apple estaba usando NSProcessInfo para habilitar la terminación automática), por lo que agregar una clave probablemente no tendría ningún efecto ya que NSProcessInfo anula lo que está en el archivo plist. (Verificado, esto no funciona, autofirmando TextEdit con un Info.plist modificado que incluye la clave NSSupportsAutomaticTermination y el valor de No).

Un efecto secundario que se observa es que al cambiar cualquier cosa en el archivo Info.plist, TextEdit se bloquea al abrir. La causa se indica en el registro de fallos como "firma de código no válida", lo que significa que la aplicación TextEdit y todo su contenido tienen un código firmado. La solución consiste en firmar automáticamente la aplicación con el comando codesign y un certificado raíz autofirmado como se indica en Tarea de firma de código .

Después de lo que he intentado hasta ahora, TextEdit aún obedece a la terminación automática.

    
pregunta MrDaniel 16.04.2012 - 18:03

2 respuestas

14

Tu deseo es mi comando de Terminal ;-)

defaults write -g NSDisableAutomaticTermination -bool yes

Tenga en cuenta que, dado que la terminación automática no cierra realmente las aplicaciones, sino que las oculta , deben haberse cerrado correctamente para que esto tenga efecto.

    
respondido por el user22760 13.05.2012 - 21:36
1

Hay una manera segura de solucionar esto, si su hardware lo admite. Puede actualizar de Mac OS X 10.7 (Lion) a Mac OS X 10.6 (Snow Leopard).

Aunque no todo el hardware que ejecutará Lion puede admitir este sistema operativo mejorado (lamentablemente, mi MacBook Air de mediados de 2011 no lo hace), incluye características como la terminación no automática, Rosetta ( lo que permite a los procesadores Intel ejecutar software compilado para procesadores PPC) y compatibilidad con las funciones de grabación por aplicación en el excelente WireTap Studio.

Al igual que con cualquier actualización, algunas funciones se pierden (como Mission Control , Launch Pad , algunos gestos) y algunas peculiaridades del sistema operativo tardan en acostumbrarse (el la dirección de desplazamiento se invierte, por ejemplo), pero en general, es una buena actualización.

    
respondido por el Daniel 16.04.2012 - 22:58

Lea otras preguntas en las etiquetas