Desmarque a opção "Reabrir janelas ao fazer login novamente" por padrão


17

A caixa de diálogo desligar / reiniciar tem uma caixa de seleção Reopen windows when logging back inmarcada por padrão. Eu preciso alterar seu comportamento para ser desmarcado por padrão. Isso é possível? Se sim, como posso fazer isso?

insira a descrição da imagem aqui

Respostas:


8

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 LoginwindowLaunchesRelaunchAppschave 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.plistou 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 falseuma 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.


Encontrei um motivo para fazer isso ainda na versão 10.7.5: a caixa na caixa de diálogo Reiniciar agora está desmarcada por padrão e o estado não é restaurado. Mas se eu forcei uma reinicialização pressionando o botão liga / desliga do hardware no meu MacBook, ele restaurou o estado. Após aplicar essa correção, ao reiniciar com o botão, agora recebo uma caixa de diálogo na reinicialização que diz "Você foi desligado devido a um problema. Deseja restaurar o estado?", Para que eu possa obter uma reinicialização limpa.
18113 Andrew Janke


2

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/


Você também pode desativar o Currículo para aplicativos por aplicativo. Veja estas respostas aqui.
Gentmatt 24/12/11

Obrigado pelo script, ele corrige um dos "recursos" mais irritantes dos Macs mais recentes.
Tobia

2

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.

insira a descrição da imagem aqui

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!)

insira a descrição da imagem aqui


2

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.


1

Para o registro, estamos falando sobre isso:

Captura de tela

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 SistemaGeral :

Captura de tela

Como alternativa, você pode executar este comando no Terminal.app:

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

(Retirado do meu .osxarquivo.)


TALLogoutSavesStateàs vezes, é redefinido para true depois de sair e voltar. defaults write com.apple.loginwindow TALLogoutSavesState -bool falseprecisaria ser executado no login usando um agente launchd ou algo assim.
Lri

@Lri Parece funcionar bem para mim, mesmo após vários logouts / reinicializações, em combinação com a LoginwindowLaunchesRelaunchAppsconfiguraçã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.
Mathias Bynens 21/03

Acabei de executar os dois novamente, saí e voltei duas vezes e defaults read com.apple.loginwindow TALLogoutSavesStatevoltei 1.
Lri

TALLogoutSavesStateainda é definido como verdadeiro por si só. Mas apenas isso LoginwindowLaunchesRelaunchApps -bool falseparece ser suficiente para desativar a restauração de janelas.
Lri

0

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.

Impedir permanentemente o macOS High Sierra de reabrir aplicativos após uma reinicialização

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.

Método GUI

  1. Open Finder
  2. Cmd+Shift+G (Vá para a pasta)
  3. Copypaste ~/Library/Preferences/ByHost/e confirme
  4. Encontre o arquivo começando com com.apple.loginwindow
  5. Clique duas vezes (abre no TextEdit)
  6. Remova todo o conteúdo e salve o arquivo vazio. Uma caixa de diálogo de confirmação adicional pode aparecer.
  7. Clique com o botão direito do mouse, Obter informações
  8. Bloqueie o arquivo (marque a Lockedcaixa de seleção)

Método da GUI (desfazer)

Se você deseja desfazer essa alteração posteriormente e reativar o recurso, basta excluir este arquivo e o sistema operacional irá recriá-lo.

  1. Open Finder
  2. Cmd+Shift+G (Vá para a pasta)
  3. Copypaste ~/Library/Preferences/ByHost/e confirme
  4. Localize o arquivo começando com com.apple.loginwindow
  5. Simplesmente exclua

Método CLI

  1. Abra Terminal.app
  2. Crie o arquivo como root (caso contrário, o sistema operacional o substituirá)

    sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
    
  3. Remova todas as permissões, para que não possam ser lidas ou gravadas em

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

Método CLI (desfazer)

  1. Reative "reabrir todos os aplicativos" após o login

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

     


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.