J'ai l'habitude d'ouvrir un terminal en utilisant la commande "Ouvrir le terminal ici" dans les dossiers. Cela fait que quelques terminaux restent ouverts alors que je ne les utilise plus vraiment, ou je ne sais pas quel terminal servait à quelle fin.
Je sais que je peux étiqueter les onglets de terminal et autres, mais puis-je forcer un nouveau terminal en cours d'ouverture à devenir un nouvel onglet dans un écran de terminal (s'il y en a déjà un ouvert?) De cette façon, je les ai toujours tabulés en un seul Terminal.
EDIT
D'accord, cela fait donc un moment et mon mojo linux s'est beaucoup amélioré. La solution actuelle à cette situation a donc été utilisée pour moi tmux
. C'est un peu plus avancé que les terminaux et les onglets ordinaires, mais une fois que j'ai compris (environ une heure d'essais), je suis très satisfait de la façon de procéder.
Tout d'abord, je me suis assuré que chaque fois que ctrl-alt-t
j'ouvrirais un terminal avec , il ouvrirait tmux par défaut. Ceci peut être réalisé en ajoutant la ligne suivante dans votre .bashrc
fichier après tous les alias:
[[ $TERM != "screen" ]] && exec 'tmux
Maintenant, chaque fois que vous générez un terminal en utilisant ctrl-alt-t
vous sera présenté avec un tmux
.
Pour vous assurer que vous n'avez qu'un seul terminal ouvert en même temps, j'ai fait ce qui suit:
Tout d'abord, vous pouvez rattacher une session en tmux
exécutant tmux attach -d
. Cela déconnectera tous les autres clients connectés à cette session. Cela fonctionne bien si vous êtes la seule personne à utiliser les sessions.
Mais, si vous n'avez pas de session en cours d'exécution, il dira qu'il n'a trouvé aucune session. Ergo, vous avez besoin de quelque chose comme if (nosession) {tmux} else {tmux attach -d}. Pour ce faire, créez de l'ajout à votre ~/.tmux.conf
fichier de la ligne suivante:
#if run as "tmux attach", create a session if one does not already exist
new-session -n $HOST
(Merci à ce post )
Dans mon .bashrc
fichier, j'ai modifié la ligne ajoutée précédemment comme suit:
[[ $TERM != "screen" ]] && exec 'tmux attach -d'
Cela détache tous les autres clients de la tmux
session. Lorsque vous effectuez cette opération, tous les autres terminaux se ferment. Ils se ferment car cette ligne garantit également que lorsque vous ouvrez un terminal (ctrl-alt-t), il démarre immédiatement une session tmux.
Ergo, attach -d
tue les autres sessions. C'est donc la solution la plus proche que j'ai pu obtenir et j'en suis plutôt satisfait! :)
La seule chose que j'aimerais encore, c'est que lorsque j'appuie, ctrl-alt-t
cela ouvre ma session actuelle et crée également une nouvelle fenêtre. Je n'ai pas encore compris cela, alors n'hésitez pas à aider!