Quero limpar meu histórico de shell em cada desligamento/logout.
Sei limpar o histórico manualmente, sei limpar o histórico automaticamente, ao fechar o emulador de sessão/terminal. No entanto, este não é o comportamento pretendido.
Estou usando zsh
no manjaro com wayland e sway.
Eu tentei usar .zlogout. No entanto, isso não funcionou, pelo que entendi, porque é adequado para shells de login (não sei o que constitui um shell de login).
Se acontecer de você usar
systemd
(qual manjaro deveria AFAIK), uma opção seria um serviço simples que simplesmente funciona e tem a exclusão do histórico executada quando para. Então faça com que dependa dedefault.target
:Os serviços do usuário vão, por exemplo, para dentro
~/.config/systemd/user/zsh-history-wipe.service
Para habilitá-lo permanentemente e para ativá-lo para sua sessão atual depois de executado
Como todos os serviços são interrompidos no último logout ou desligamento, o
ExecStop
comando - será executado no final. Obviamente não funciona, por exemplo, em caso de falta de energia.Observe que a permanência deve ser desabilitada para o usuário!
Você pode criar um script de shell que limpe seu histórico e colocá-lo em um local onde será executado ao sair ou desligar. Siga esses passos:
chmod +x script.sh
~/.config/sway/config
) adicionando este comando ao final do arquivo de configuração:exec /path/to/the/script.sh
E é isso!