Mam zwyczaj otwierania terminala za pomocą polecenia „Otwórz tutaj terminal” w folderach. Powoduje to, że kilka terminali pozostaje otwartych, podczas gdy tak naprawdę ich już nie używam, lub mam wątpliwości, który terminal służył do którego celu.
Wiem, że mogę opisać zakładki terminali i tym podobne, ale czy mogę zmusić nowy terminal, który jest otwierany, aby stał się nową zakładką na ekranie terminala (jeśli jest już jeden otwarty?) W ten sposób zawsze mam zakładki w jednym terminal.
EDYCJA
OK, więc minęło trochę czasu, a moje linux mojo bardzo się poprawiło. Tak więc dla mnie jest obecne rozwiązanie tej sytuacji tmux
. Jest trochę bardziej zaawansowany niż zwykłe terminale i karty, ale kiedy go zrozumiałem (około godziny próbowania), jestem bardzo zadowolony z tego, jak sobie radzić.
Przede wszystkim upewniłem się, że za każdym razem, gdy ctrl-alt-t
otwieram terminal przy użyciu , domyślnie otwiera on tmux. Można to osiągnąć, dodając następujący wiersz w .bashrc
pliku po wszystkich aliasach:
[[ $TERM != "screen" ]] && exec 'tmux
Teraz za każdym razem, gdy odradzasz się przy użyciu terminala ctrl-alt-t
, pojawi się tmux
.
Aby mieć pewność, że masz tylko jeden terminal otwarty w tym samym czasie, wykonałem następujące czynności:
Przede wszystkim możesz ponownie dołączyć sesję tmux
, uruchamiając tmux attach -d
. Spowoduje to rozłączenie wszystkich innych klientów podłączonych do tej sesji. Działa to dobrze, jeśli jesteś jedyną osobą korzystającą z sesji.
Ale jeśli nie masz uruchomionej sesji, powiesz, że nie znalazła żadnych sesji. Ergo, potrzebujesz czegoś takiego jak if (nosession) {tmux} else {tmux attach -d}. Aby to zrobić, dodaj do ~/.tmux.conf
pliku następujący wiersz:
#if run as "tmux attach", create a session if one does not already exist
new-session -n $HOST
(Dzięki temu postowi )
W moim .bashrc
pliku zmieniłem linię dodaną wcześniej do następujących:
[[ $TERM != "screen" ]] && exec 'tmux attach -d'
To powoduje odłączenie wszystkich innych klientów od tmux
sesji. Po wykonaniu tej czynności wszystkie pozostałe terminale zostaną zamknięte. Zamykają się, ponieważ linia ta zapewnia również, że kiedy otworzysz terminal (ctrl-alt-t), natychmiast rozpocznie sesję tmux.
Ergo, attach -d
zabija pozostałe sesje. To jest najbliższa poprawka, jaką mogę uzyskać i jestem z tego zadowolony! :)
Jedyne, co nadal chciałbym, to to, że po naciśnięciu ctrl-alt-t
otwiera moją bieżącą sesję, a także tworzy nowe okno. Jeszcze tego nie rozgryzłem, więc nie krępuj się pomóc!