Varsayılan olarak "Yeniden giriş yaparken pencereleri yeniden aç" seçeneğinin işaretini kaldırın


17

Kapatma / yeniden başlatma iletişim kutusunda Reopen windows when logging back invarsayılan olarak işaretlenmiş bir onay kutusu bulunur. Ben varsayılan olarak işaretlenmemiş davranışını değiştirmek gerekiyor. Mümkün mü? Evet ise, bunu nasıl yapabilirim?

resim açıklamasını buraya girin

Yanıtlar:


8

Düzenleme: 10.7.4 beri, "Tekrar giriş yaparken pencereleri yeniden aç" onay kutusu, bir kez işaretini kaldırırsanız, bu yüzden aşağıdaki kesmek artık gerekli değildir.

Seçeneklerden biri LoginwindowLaunchesRelaunchAppsanahtarı şu şekilde false değerine ayarlamaktır ~/Library/Preferences/com.apple.loginwindow.plist:

defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false

Bu mülk listesini şu şekilde de kaydedebilirsiniz ~/Library/LaunchAgents/logout_saves_state.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>logout_saves_state</string>
    <key>ProgramArguments</key>
    <array>
        <string>defaults</string>
        <string>write</string>
        <string>com.apple.loginwindow</string>
        <string>TALLogoutSavesState</string>
        <string>-bool</string>
        <string>false</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Ardından, çalıştırarak launchctl load ~/Library/LaunchAgents/logout_saves_state.plistveya bir kez çıkış yapıp tekrar oturum açarak özellik listesini yükleyin .

TALLogoutSavesStateBazen çıkış yaptığımda ve tekrar giriş yaptığımda sıfırlandı, bu yüzden sadece bir defaults write com.apple.loginwindow TALLogoutSavesState -bool falsekez koşmak işe yaramazdı.

Bu seçeneklerin hiçbiri onay kutusunun işaretlenmemiş görünmesine neden olmaz, ancak aynı etkiye sahiptir.


Bunu yine de 10.7.5'te yapmak için bir neden buldum: Yeniden Başlat iletişim kutusundaki kutu artık varsayılan olarak işaretli değil ve durum geri yüklenmiyor. Ancak MacBook'umdaki donanım güç düğmesini basılı tutarak yeniden başlatmayı zorladıysam, geri yüklendi. Bu düzeltmeyi uyguladıktan sonra, düğmeyle yeniden önyükleme yaparken, yeniden başlatma sırasında "Sorun nedeniyle kapattınız. Durumu geri yüklemek istiyor musunuz?" Yazan bir iletişim kutusu alıyorum, böylece temiz bir yeniden başlatma elde edebilirim.
Andrew Janke


2

Hayır, her zaman "açık" olarak ayarlanır. Ancak, çalıştırabileceğiniz ve özelliği devre dışı bırakan bir komut dosyası var. Kutu hala işaretli olacak, ancak özellik artık çalışmaz:

Aşağıdakileri Terminal içindeki tek bir satıra yapıştırın:

curl http://goo.gl/Z4EFC -L -s -o ~/fixlogin.sh && chmod +x ~/fixlogin.sh && sudo ~/fixlogin.sh ; rm ~/fixlogin.sh

Bu komut bir komut dosyasını indirir, uygun konuma yerleştirir, yürütülebilir duruma getirir ve sonra geçici dosyayı kaldırır. Eğer merak ediyorsanız, indirilen bash betiğinin içeriği aşağıdaki gibidir:

#!/bin/bash
echo "#!/bin/bash" > /tmp/loginfix.sh
echo "rm /Users/*/Library/Preferences/ByHost/com.apple.loginwindow.*" >> /tmp/loginfix.sh
mv /tmp/loginfix.sh /usr/bin/loginfix.sh
chmod +x /usr/bin/loginfix.sh
defaults write com.apple.loginwindow LoginHook /usr/bin/loginfix.sh

Bu OS X Lion özelliğinin varsayılan davranışına geri dönmek isterseniz, aşağıdaki varsayılan yazma komutunu yazmanız yeterlidir:

sudo defaults delete com.apple.loginwindow LoginHook

Ve bu onay kutusunun seçimine göre pencere geri yüklemesini seçebileceksiniz.

Kaynak: http://osxdaily.com/


Ayrıca, uygulamalar için Özgeçmiş'i uygulama başına devre dışı bırakabilirsiniz. Bu cevaplara buradan bakın.
gentmatt

Senaryo için teşekkür ederim, en son Mac'lerin en can sıkıcı "özelliklerinden" düzeltir.
Tobia

2

Bu, Mac OS X Güncelleme Sürüm 10.7.4'te değişti.

"Yeniden oturum açarken pencereleri yeniden aç" ayarının her zaman etkin olması sorununu çözün.

resim açıklamasını buraya girin

İşte görebileceğiniz gibi yeni seçenek (her ne kadar işaretini kaldırmak ve sonra ekran kapmak kolay olduğu için kendi başına kanıt olmasa da, lütfen bana güvenin - bu hata gerçekten sinir bozucu olduğu için bu güncellemeyi kontrol ettiğimde oldukça stoklanmıştım ben mi!)

resim açıklamasını buraya girin


2

Mojave için yukarıdaki seçeneklerden hiçbiri benim için çalışmadı, ancak bir başkası aşağıdakilerden bahsetti ve benim için yeterli:

Terminal hariç tüm pencereleri kapatın ve şunu çalıştırın:

chflags uimmutable $HOME/Library/Preferences/ByHost/com.apple.loginwindow.*

Terminal ve Finder şimdi yeniden başlatma sırasında açılacak tek uygulama olacak.


1

Kayıt için bundan bahsediyoruz:

Ekran görüntüsü

Sorun, OS X'in son kapatmadaki onay kutusunun işaretini kaldırdığınızı hatırlamamasıdır - sonraki kapanmalarda onay kutusunu her zaman varsayılan olarak işaretli tutar.

İdeal olmasalar da, bu sorun için iki farklı çözüm buldum .

Terminal.app uygulamasını açın ve aşağıdaki komutları girin:

defaults write com.apple.loginwindow TALLogoutSavesState -bool false
defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false

Bu, onay kutusu hala işaretli gibi görünse de, "tekrar giriş yaparken pencereleri yeniden aç" seçeneğini etkin bir şekilde devre dışı bırakır. Sadece görmezden gelebilirsin.

Korkarım daha iyi bir çözüm yok, en azından şu an değil.


Devam Et'i uygulama başına da devre dışı bırakmak mümkündür .

Ayrıca, sistem genelindeki tüm uygulamalar için devre dışı bırakmanıza izin veren bir sistem ayarı da vardır. Git Sistem TercihleriGenel :

Ekran görüntüsü

Alternatif olarak, bu komutu Terminal.app içinde çalıştırabilirsiniz:

# Disable Resume system-wide
defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false

(Dosyamdan alındı .osx.)


TALLogoutSavesStatebazen oturumu kapatıp tekrar açtıktan sonra sıfırlanır. defaults write com.apple.loginwindow TALLogoutSavesState -bool falsebir launchd aracısı veya başka bir şey kullanılarak oturum açıldığında çalıştırılması gerekir.
Lri

@Lri Ayarla birlikte çoklu çıkış / yeniden başlatmalardan sonra bile benim için iyi çalışıyor gibi görünüyor LoginwindowLaunchesRelaunchApps. İkisini ayrı ayrı test ettiğimi hatırlıyorum, bu durumda cevabınızda açıkladığınız sorunlara rastladım. AFAICT, hile yapan iki ayarın birleşimi hakkında bir şey var.
Mathias Bynens

Sadece tekrar koştum, iki kez çıkış yaptım ve geri döndüm ve defaults read com.apple.loginwindow TALLogoutSavesStategeri döndüm 1.
Lri

TALLogoutSavesStatehala kendi başına doğruya ayarlanır. Ancak LoginwindowLaunchesRelaunchApps -bool falsepencereleri geri yüklemeyi devre dışı bırakmak için tek başına yeterli görünüyor.
Lri

0

"Yeniden oturum açarken pencereleri yeniden aç" seçeneğinin işaretini kaldırmak benim için sorunu çözmedi. Uygulamalar Apple Script'ten yeniden başlatıldıktan sonra veya Terminal'de kapatma komutuyla yeniden açılıyor.

Yeniden başlatma sonrasında macOS High Sierra'nın uygulamaları yeniden açmasını kalıcı olarak önleyin

MacOS El Capitan, Yosemite, Sierra, High Sierra'da çalışır.

Çözüm: OS X'in oturum durumunuzu depolamak için kullandığı dosyaya erişimini engelleyin. Terminalden , AppleScript'ten ve sistem çökmesinden yeniden başlatıldıktan / kapatıldıktan sonra bile uygulamaların yeniden açılmasını engeller .

GUI yöntemi

  1. Açık Bulucu
  2. Cmd+Shift+G (Klasöre git)
  3. Kopyala yapıştır ~/Library/Preferences/ByHost/ve onayla
  4. İle başlayan dosyayı bul com.apple.loginwindow
  5. Doubleclick (TextEdit'te açılır)
  6. Tüm içeriği kaldırın ve boş dosyayı kaydedin. Ek bir onay iletişim kutusu görünebilir.
  7. Sağ tıklayın, Bilgi Alın
  8. Dosyayı kilitleme (onay Lockedkutusunu işaretleyin)

GUI yöntemi (geri al)

Bu değişikliği daha sonra geri almak ve özelliği yeniden etkinleştirmek isterseniz, bu dosyayı silin, işletim sistemi yeniden oluşturur.

  1. Açık Bulucu
  2. Cmd+Shift+G (Klasöre git)
  3. Kopyala yapıştır ~/Library/Preferences/ByHost/ve onayla
  4. İle başlayan dosyayı bulun com.apple.loginwindow
  5. Basitçe silin

CLI yöntemi

  1. Terminal.app uygulamasını açın
  2. Dosyanın köküne sahip olmasını sağlayın (aksi takdirde işletim sistemi dosyayı değiştirecektir)

    sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
    
  3. Tüm izinleri kaldırın, böylece okunamaz veya üzerine yazılamaz

    sudo chmod 000 ~/Library/Preferences/ByHost/com.apple.loginwindow*
    

CLI yöntemi (geri al)

  1. Giriş yaptıktan sonra "tüm uygulamaları yeniden aç" seçeneğini yeniden etkinleştirin

    sudo rm -f ~/Library/Preferences/ByHost/com.apple.loginwindow*
    

     


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.