Apakah ada cara untuk menonaktifkan aplikasi otomatis OS X?


11

Apakah ada cara untuk memberi tahu OS X Lion untuk menonaktifkan penghentian otomatis untuk aplikasi tertentu yang Anda tidak ingin menghentikannya secara otomatis?

FYI Lion adalah orang yang gampang menyerah jika Anda belum tahu, bagaimana jika Anda tidak menginginkannya untuk Applicaiton tertentu.

Lion akan keluar dari aplikasi Anda yang berjalan di belakang Anda jika ia memutuskan membutuhkan sumber daya, dan jika Anda tampaknya tidak menggunakannya. Heuristik untuk menentukan apakah suatu aplikasi "digunakan" sangat konservatif: ia tidak boleh merupakan aplikasi aktif, ia tidak boleh memiliki jendela yang terlihat dan tidak diperkecil - dan, tentu saja, ia harus secara eksplisit mendukung Pengakhiran Otomatis.

Sebagai contoh, katakan saya tidak ingin TextEdit berhenti secara otomatis ketika saya tidak memiliki jendela TextEdit terbuka dan beralih ke Aplikasi lain.

Setelah melihat bagian Panduan Pemrograman Aplikasi Mac untuk Pengakhiran Otomatis, saya pikir saya akan mencoba menambahkan kunci NSSupportsAutomaticTermination dengan nilai Tidak ke file Info.plist untuk TextEdit. (Tidak berfungsi: TextEdit lumpuh saat terbuka.)

Untuk dicatat, file tersebut tidak menyertakan kunci NSSupportsAutomaticTermination (yang berarti bahwa Apple menggunakan NSProcessInfo untuk mengaktifkan penghentian otomatis), jadi menambahkan kunci mungkin tidak akan berpengaruh apa pun karena NSProcessInfo menimpa apa yang ada di file plist. (Diverifikasi ini tidak bekerja, dengan menandatangani sendiri TextEdit dengan Info.plist yang dimodifikasi termasuk kunci NSSupportsAutomaticTermination dan nilai Tidak).

Satu efek samping yang dicatat adalah bahwa mengubah apa pun dalam file Info.plist menyebabkan TextEdit lumpuh saat dibuka. Penyebabnya dicatat dari crash log sebagai "tanda tangan kode tidak valid", yang berarti bahwa aplikasi TextEdit dan semua isinya adalah kode yang ditandatangani. Solusinya adalah untuk menandatangani sendiri aplikasi menggunakan codesignperintah dan sertifikat root yang ditandatangani sendiri seperti yang tercantum dalam tugas Penandatanganan Kode .

Setelah apa yang saya coba sejauh ini, TextEdit masih mematuhi Pengakhiran Otomatis.


1
Jadi ... jika Anda menandatangani sendiri aplikasi tersebut, apakah itu berfungsi?
jtbandes

1
Tidak, program masih berakhir secara otomatis bahkan setelah penandatanganan sendiri, terlepas dari apa yang telah saya tambahkan ke Info.plist
MrDaniel

1
Sudahkah Anda mencoba mengunduh contoh sumber untuk TextEdit yang disediakan Apple dengan alat dev dan mengedit (atau menghapus) hal-hal NSProcessInfo yang mendaftar untuk penghentian otomatis?
Cajunluke

Tidak belum mencobanya, yang seharusnya berhasil dalam hal ini. Tetapi pertanyaan ini di luar TextEdit. Ini lebih merupakan pertanyaan tentang apakah kita dapat mengatasi ini tanpa intervensi tingkat kode sumber pengembang. Karena kita tidak akan selalu memiliki akses ke kode sumber untuk aplikasi yang mendukung Pengakhiran Otomatis.
MrDaniel

1
"Beginilah cara Apple bekerja" itu hanya palsu. Ini adalah fitur baru, tidak diiklankan dengan baik pada saat itu. Dari Apples Docs bahkan tidak jelas apa yang diperlukan untuk OS untuk Auto Terminate program. Dan Apple gagal untuk mengiklankan ini atau menyebutkannya di halaman fitur Lion untuk pengguna akhir. Saya pikir ini adalah sesuatu yang Apple baru coba. Jika pengguna akhir tidak menyukai ini, mereka harus menyuarakan Apple dan Pengembang sehingga mereka dapat membuatnya lebih baik.
MrDaniel

Jawaban:


14

Keinginan Anda adalah perintah Terminal saya ;-)

defaults write -g NSDisableAutomaticTermination -bool yes

Perhatikan bahwa sejak Pengakhiran Otomatis tidak benar-benar keluar dari aplikasi, tetapi menyembunyikannya , mereka harus benar-benar berhenti agar ini berlaku.


2
Bagus, temukan pengguna22760. Mencoba seperti yang disebutkan di atas dan itu berhasil, terima kasih. Kasus uji TextEdit.app tidak lagi otomatis berhenti setelah menjalankan default ... dan kemudian membuka dan kemudian berhenti TextEdit. Setelah membuka kembali TextEdit itu tidak akan lagi autoterminate tanpa windows terbuka, dan berjalan di latar belakang.
MrDaniel

Menarik. Setelah mencoba perintah ini, itu memang berhasil. Namun, berusaha membatalkannya terbukti lebih sulit. default menulis -g NSDisableAutomaticTermination -bool no, atau false, atau menghapus kunci tidak berpengaruh dan aplikasi tidak akan secara otomatis Mengakhiri
DrFloyd5

Perintah mukjizat ini bekerja untuk saya di Mavericks! Ini berlaku saat kembali ke sesi atau saat membuka sesi baru.
Nicolas Barbulesco

Terima kasih banyak atas instruksi tambahan untuk memulai dan keluar dari aplikasi secara manual dan kemudian meluncurkannya kembali untuk melihat efeknya dengan benar!
jtheletter

1

Ada cara pasti untuk memperbaikinya, jika perangkat keras Anda mendukungnya. Anda dapat memutakhirkan dari Mac OS X 10.7 (Lion) ke Mac OS X 10.6 (Snow Leopard).

Meskipun tidak semua perangkat keras yang akan menjalankan Lion dapat mendukung sistem operasi yang ditingkatkan ini (sayangnya, pertengahan 2011 MacBook Air saya tidak), itu termasuk fitur seperti non-auto-termination, Rosetta (yang memungkinkan prosesor Intel menjalankan perangkat lunak yang dikompilasi untuk PPC prosesor), dan kompatibilitas dengan fitur perekaman per-aplikasi di WireTap Studio yang sangat baik.

Seperti halnya pemutakhiran, beberapa fitur hilang (seperti Mission Control , Launch Pad , beberapa gesture) dan beberapa kebiasaan sistem operasi memerlukan waktu untuk membiasakan diri (misalnya, arah pengguliran terbalik,), tetapi semuanya, itu adalah upgrade baik-baik saja.


2
Poin yang bagus, tetapi bagi sebagian besar pengguna Pemutusan Otomatis tidak layak untuk dikembalikan ke Snow Leopard, ini hanya sedikit gangguan bagi beberapa pengguna, saya bukan salah satu dari mereka.
MrDaniel

1
Tentu saja ini adalah solusi ekstrem, tetapi ini adalah salah satu dari beberapa cara Snow Leopard lebih unggul dari Lion. Efek kumulatif dari mereka mungkin mendorong seseorang untuk menginginkan Snow Leopard. Yang mengatakan, saya hanya belajar untuk hidup dengannya, karena fitur lain dari Lion (terutama yang terkait dengan iCloud) membuatnya layak untuk menerima kekurangannya.
Daniel

Pertanyaannya adalah tentang Lion.
Graham Perrin

1
@ GrahamPerrin begitu juga jawaban saya. Maksud saya adalah ini adalah salah satu dari banyak hal yang Lion hancurkan, dan salah satu solusinya adalah tidak menjalankan Lion.
Daniel
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.