Mais precisamente, seu shell (bash, por padrão) preserva o histórico de comandos. Não é uma função do aplicativo terminal, da tela do gnu ou do byobu. Todos eles correm bash, então todos eles compartilham um histórico bash.
Eu não vejo o comportamento que você está descrevendo. Meus comandos desligamento do sudo ... parecem estar bem preservados.
Algumas razões pelas quais você pode não ver um comando no seu histórico bash -
- quando você insere um comando com espaços no início da linha, ele não é mantido no histórico (supondo que seu $ HISTCONTROL contenha "ignorespace" ou "ignoreboth")
- a variável HISTIGNORE define padrões a serem excluídos do histórico. Um administrador cauteloso pode adicionar 'shutdown' como uma string para excluir, para evitar desligar acidentalmente um sistema com uma invocação de histórico equivocada.
- O histórico é gravado em disco (~ / .bash_history) quando o shell é encerrado. Se o shell for finalizado de forma anormal (por exemplo, segfault, power loss, etc), seu histórico para essa sessão não será salvo. (Durante o desligamento , o shell normalmente é morto normalmente e grava seu histórico.)
Mais detalhes podem ser encontrados aqui: Manual de Referência do Bash: Instalações de História do Bash