Como desativar o reinício do aplicativo e a restauração de janelas no El Capitan na reinicialização?

19

Como desabilito o recurso "reiniciar aplicativos após a reinicialização" e o recurso "reabrir janelas ao reiniciar"? Quando eu reinicializo (seja após um comando de reinicialização ou reinicialização forçada), quero receber uma área de trabalho em branco e não tudo o que havia aberto antes. Além disso, quando abro um aplicativo, não quero que as dezenas de coisas nas quais eu estava trabalhando anteriormente abram todas de uma vez.

tattar8
fonte

Respostas:

25

Se você estiver procurando uma maneira de desativar permanentemente esse recurso, para não precisar se lembrar da etapa extra "desmarcar a caixa" toda vez que desligar a máquina, basta negar o acesso do OS X ao arquivo usado para armazenar seu estado da sessão.

Em um terminal,

# Make the file owned by root (otherwise the OS will just replace it)
sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*

# Remove all permissions, so it can't be read or written to
sudo chmod 000 ~/Library/Preferences/ByHost/com.apple.loginwindow*

Se você deseja desfazer essa alteração mais tarde e reativar o recurso, talvez porque você tenha sofrido um dano cerebral e agora ache divertido o loop de inicialização, basta excluir este arquivo e o sistema operacional irá recriá-lo.

# Re-enable El Capitan's obnoxious "relaunch all the things" behavior
sudo rm -f ~/Library/Preferences/ByHost/com.apple.loginwindow*
Dan
fonte
Uma ótima solução. Isso me incomoda há tanto tempo, mas nunca demorei a pesquisar como pará-lo permanentemente.
Brady
A melhor resposta. Trabalha em El Capitan e Sierra.
Darryl E. Clarke
11
Voto a favor agora, reiniciando. Vou downvote se eu ver esta janela novamente em 2 minutos :-)
William Entriken
11
Duas adições importantes a esta solução: 1) Pode ser necessário excluir e adicionar novamente uma versão vazia desse arquivo antes de alterar as permissões. Caso contrário, ele apenas reabrirá as janelas que persistiram por último. 2) Você também pode precisar alterar algumas outras configurações para garantir que os aplicativos não estejam configurados para iniciar no login.
Chuim 23/03/19
4

A abordagem com a qual tive sucesso é basicamente a abordagem de arquivos bloqueados por John Smfifth, depois de esvaziar o arquivo. O bom é que isso pode ser feito sem direitos de root e usando um simples shell script de duas linhas:

# clear the file if it isn't empty
find ~/Library/Preferences/ByHost/ -name 'com.apple.loginwindow*' ! -size 0 -exec tee {} \; < /dev/null
# set the user immutable flag
find ~/Library/Preferences/ByHost/ -name 'com.apple.loginwindow*' -exec chflags uimmutable {} \;
href_
fonte
Após um rápido mergulho no findmanual: o ponto de exclamação no primeiro comando é unary notanalisado pelo comando find, não pela expansão do histórico do bash. Ele nega a -size 0expressão, de modo que apenas um arquivo de janela de login não vazio seja encontrado. Também poderia ser escrito como -not.
Joe
3

A solução mais simples e a que eu uso é localizar o arquivo no localizador: ~ / Library / Preferences / ByHost / com.apple.loginwindow

Em seguida, feche todos os aplicativos para esvaziar o conteúdo dos arquivos acima ou, de preferência, abra o arquivo em Edição de texto e exclua todo o conteúdo e salve-o.

Em seguida, selecione novamente o arquivo no localizador, mas não o abra

Em seguida, pressione a tecla Apple (ao lado da barra de espaço) + i, ou vá para o menu Arquivo e clique em "Obter informações". Em seguida, na seção Geral da janela de informações exibida, marque a caixa de seleção "Bloqueado" (o arquivo é bloqueado).

Usando esse método, é muito mais fácil ativar ou desativar, pois o processo é muito mais simples de lembrar. O código do terminal usado ocasionalmente provavelmente não será lembrado ou recuperado facilmente.

John Smfifth
fonte
11
O problema é mais para lembrar o nome e o local do arquivo do qual você precisa alterar as configurações. Depois que você souber que, para muitos usuários do Unix, os comandos chmod e chown shell e seu significado são de conhecimento comum, embora saiba que a Apple criou uma configuração "bloqueada", da qual eles não sabem exatamente o que isso significa, é bastante esotérico.
Gpvos #
0

Para impedir que os aplicativos abram documentos anteriores, vá para Preferências do Sistema> Geral e marque a caixa de seleção Fechar janelas ao sair de um aplicativo.

insira a descrição da imagem aqui

Para impedir que os aplicativos de reinicialização após a reinicialização ocorram, desmarque a caixa de seleção na janela pop-up Desligar ou reiniciar:

insira a descrição da imagem aqui

IconDaemon
fonte
5
Já tenho a primeira caixa marcada e sempre desmarco a caixa de reabertura. Mas quando eu tenho que fazer uma reinicialização completa por qualquer motivo, todas as 50 coisas que tive aberto foram reiniciadas e estou tentando impedir isso.
tattar8
2
Eu me concentraria em consertar o que está fazendo com que você precise redefinir o hardware. No momento, você está pedindo ao mecânico do carro que aperte a buzina porque os freios não funcionam.
Tetsujin
3
O problema é que o MacOS ainda reabrirá as janelas após um desligamento forçado ou falha. Em outras palavras as situações em que você menos como as janelas para reabrir (e potencialmente repetir a questão)
ViggoV
11
@ Tetsujin: meu sistema é estável, então a necessidade de uma reinicialização total tende a ocorrer de maneira irregular e muito raramente, mas ocorrem bugs, então a causa geralmente é um problema único, diferente a cada vez. No entanto, nesse momento, especialmente, não quero a surpresa desagradável do sistema de reabrir tudo.
Gpvos #