Eu tenho o hábito de abrir um terminal usando o comando "Abrir terminal aqui" nas pastas. Isso faz com que alguns terminais permaneçam abertos enquanto eu realmente não os uso mais, ou fico confuso sobre qual terminal estava servindo a qual finalidade.
Eu sei que posso rotular guias de terminal e tal, mas posso forçar um novo terminal que está sendo aberto, para se tornar uma nova guia em uma tela de terminal (se já houver uma aberta?) Dessa forma, sempre as tenho em uma única aba terminal.
EDIT
Ok, faz um tempo e meu linux mojo melhorou bastante. Portanto, a solução atual para esta situação para mim está sendo usada tmux
. É um pouco mais avançado do que terminais e guias regulares, mas depois que peguei o jeito (cerca de uma hora de tentativa), estou muito satisfeito com a maneira de fazer as coisas.
Antes de tudo, eu tinha certeza de que sempre que eu abrisse um terminal usando ctrl-alt-t
, ele abriria o tmux por padrão. Isso pode ser alcançado adicionando a seguinte linha no seu .bashrc
arquivo após todos os aliases:
[[ $TERM != "screen" ]] && exec 'tmux
Agora, toda vez que você gerar um terminal usando ctrl-alt-t
, será apresentado a tmux
.
Para garantir que você tenha apenas um terminal aberto ao mesmo tempo, fiz o seguinte:
Primeiro de tudo, você pode reconectar uma sessão tmux
executando tmux attach -d
. Isso desconectará todos os outros clientes conectados a esta sessão. Isso funciona bem se você for a única pessoa a usar as sessões.
Mas, se você não tiver uma sessão em execução, ela dirá que não encontrou nenhuma sessão. Portanto, você precisa de algo como if (nosession) {tmux} else {tmux attach -d}. Para fazer isso, crie um anexo ao seu ~/.tmux.conf
arquivo na seguinte linha:
#if run as "tmux attach", create a session if one does not already exist
new-session -n $HOST
(Graças a este post )
No meu .bashrc
arquivo, alterei a linha adicionada anteriormente para a seguinte:
[[ $TERM != "screen" ]] && exec 'tmux attach -d'
O que isso faz é desanexar todos os outros clientes da tmux
sessão. Quando você faz isso, todos os outros terminais se fecham. Eles fecham porque esta linha também garante que, quando você abre um terminal (ctrl-alt-t), ele inicia imediatamente uma sessão do tmux.
Ergo, attach -d
mata as outras sessões. Portanto, esta é a solução mais próxima que eu pude e estou bastante feliz com isso! :)
A única coisa que eu ainda gostaria é que, quando pressiono ctrl-alt-t
, abre minha sessão atual e também cria uma nova janela. Ainda não descobri isso, então fique à vontade para ajudar!