Respostas:
Edit: desde 10.7.4, a caixa de seleção "Reabrir janelas ao fazer login novamente" permanece desmarcada se você desmarcar uma vez, para que os hacks abaixo não sejam mais necessários.
Uma opção é definir a LoginwindowLaunchesRelaunchApps
chave como false em ~/Library/Preferences/com.apple.loginwindow.plist
:
defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false
Você também pode salvar esta lista de propriedades como ~/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>
Em seguida, carregue a lista de propriedades executando launchctl load ~/Library/LaunchAgents/logout_saves_state.plist
ou efetuando logout e logon novamente.
TALLogoutSavesState
às vezes, era redefinida para true quando eu saía e entro novamente, portanto, apenas correr defaults write com.apple.loginwindow TALLogoutSavesState -bool false
uma vez não teria funcionado.
Nenhuma dessas opções faz com que a caixa de seleção apareça desmarcada, mas elas têm o mesmo efeito.
Este bug foi corrigido com a atualização 10.7.4 do Lion :
A atualização do OS X Lion v10.7.4 inclui correções que:
Resolva um problema no qual a configuração "Reabrir janelas ao fazer login novamente" está sempre ativada.
Não, está sempre definido como "ativado". No entanto, existe um script que você pode executar, que desativa o recurso. A caixa ainda estará marcada, mas o recurso não funcionará mais:
Cole o seguinte em uma única linha dentro do Terminal:
curl http://goo.gl/Z4EFC -L -s -o ~/fixlogin.sh && chmod +x ~/fixlogin.sh && sudo ~/fixlogin.sh ; rm ~/fixlogin.sh
Esse comando baixa um script, coloca-o no local apropriado, torna-o executável e remove o arquivo temporário. Se você está se perguntando, o conteúdo do script bash baixado é o seguinte:
#!/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
Se você quiser voltar ao comportamento padrão desse recurso do OS X Lion, digite o seguinte comando de gravação padrão:
sudo defaults delete com.apple.loginwindow LoginHook
E você estará de volta para poder selecionar a restauração da janela com base na opção da caixa de seleção.
Fonte: http://osxdaily.com/
Isso mudou no Mac OS X Update versão 10.7.4.
Resolva um problema em que a configuração "Reabrir janelas ao fazer login novamente" está sempre ativada.
Aqui está a nova opção, como você pode ver (embora não seja uma prova por si só, pois é fácil desmarcar e depois capturar a tela, mas por favor, confie em mim - fiquei bastante emocionado quando verifiquei esta atualização, pois esse bug era realmente irritante mim!)
Para o Mojave, nenhuma das opções acima funcionou para mim, no entanto, alguém mencionou o seguinte, e isso é suficiente para mim:
Feche todas as janelas, exceto o terminal, e execute:
chflags uimmutable $HOME/Library/Preferences/ByHost/com.apple.loginwindow.*
O Terminal e o Finder agora serão os únicos aplicativos que serão abertos na reinicialização.
Para o registro, estamos falando sobre isso:
O problema é que o OS X não se lembra se você desmarcar a caixa de seleção no último desligamento - ele sempre manterá a caixa de seleção marcada por padrão nos desligamentos subsequentes.
Encontrei duas soluções diferentes para esse problema , que parecem funcionar, embora não sejam ideais.
Abra Terminal.app e insira os seguintes comandos:
defaults write com.apple.loginwindow TALLogoutSavesState -bool false
defaults write com.apple.loginwindow LoginwindowLaunchesRelaunchApps -bool false
Isso desativa efetivamente a opção "reabrir janelas ao fazer login novamente", embora a caixa de seleção ainda pareça estar marcada. Você pode simplesmente ignorá-lo.
Receio que não haja solução melhor, pelo menos não no momento.
Também é possível desativar o currículo por aplicativo .
Há também uma configuração do sistema que permite desativá-lo para todos os aplicativos, em todo o sistema. Vá para Preferências do Sistema → Geral :
Como alternativa, você pode executar este comando no Terminal.app:
# Disable Resume system-wide
defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false
TALLogoutSavesState
às vezes, é redefinido para true depois de sair e voltar. defaults write com.apple.loginwindow TALLogoutSavesState -bool false
precisaria ser executado no login usando um agente launchd ou algo assim.
LoginwindowLaunchesRelaunchApps
configuração. Lembro-me de testar os dois separadamente. Nesse caso, me deparei com os problemas que você descreveu em sua resposta. AFAICT, há algo sobre a combinação das duas configurações que faz o truque.
defaults read com.apple.loginwindow TALLogoutSavesState
voltei 1
.
TALLogoutSavesState
ainda é definido como verdadeiro por si só. Mas apenas isso LoginwindowLaunchesRelaunchApps -bool false
parece ser suficiente para desativar a restauração de janelas.
Desmarcar "Reabrir janelas ao fazer login novamente" não resolveu o problema para mim. Os aplicativos ainda estavam reabrindo após a reinicialização do Apple Script ou com o comando shutdown no Terminal.
Funciona no macOS El Capitan, Yosemite, Sierra, High Sierra.
Solução: negue o acesso do OS X ao arquivo usado para armazenar o estado da sua sessão. Impede a reabertura de aplicativos mesmo após a reinicialização / desligamento do Terminal , do AppleScript e da falha do sistema.
Cmd+Shift+G
(Vá para a pasta)~/Library/Preferences/ByHost/
e confirmecom.apple.loginwindow
Locked
caixa de seleção)Se você deseja desfazer essa alteração posteriormente e reativar o recurso, basta excluir este arquivo e o sistema operacional irá recriá-lo.
Cmd+Shift+G
(Vá para a pasta)~/Library/Preferences/ByHost/
e confirmecom.apple.loginwindow
Crie o arquivo como root (caso contrário, o sistema operacional o substituirá)
sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
Remova todas as permissões, para que não possam ser lidas ou gravadas em
sudo chmod 000 ~/Library/Preferences/ByHost/com.apple.loginwindow*
Reative "reabrir todos os aplicativos" após o login
sudo rm -f ~/Library/Preferences/ByHost/com.apple.loginwindow*