
Dynamiczne nazwy zakładek w Tmuxie z SSH i hostname
Chcesz, aby Twoje zakładki (okna) w Tmuxie automatycznie pokazywały hostname serwera, do którego się logujesz przez SSH? A po wylogowaniu wracały do nazwy lokalnego hosta? Ten poradnik pokaże Ci, jak to skonfigurować krok po kroku.
1. Konfiguracja Tmux – ~/.tmux.conf
W pliku konfiguracyjnym Tmuxa ustaw domyślną komendę startową na specjalny plik Bash (.bash_tmux), który załatwi całą magię.
| 
					 1  | 
						set-option -g default-command 'bash --rcfile ~/.bash_tmux'  | 
					
2. Skrypt startowy Bash – ~/.bash_tmux
Ten plik wykonuje się przy każdym starcie okna Tmux. Ustawia nazwę okna na hostname oraz nadpisuje polecenie ssh, aby aktualizowało zakładkę przy połączeniu i po rozłączeniu.
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46  | 
						#!/bin/bash # ~/.bash_tmux # Custom Bash init file for Tmux sessions with dynamic tab naming # Override the default ssh command to dynamically rename the Tmux window ssh() {   if [ -n "$TMUX" ]; then     # Loop through arguments to find the target host (first non-flag argument)     for arg in "$@"; do       if [[ "$arg" != -* ]]; then         if [[ "$arg" == *@* ]]; then           host="${arg#*@}"  # extract host from user@host         else           host="$arg"         fi         break       fi     done     # Strip any trailing junk or whitespace     host="$(echo "$host" | cut -d' ' -f1)"     # Rename the Tmux window to the SSH target     [ -n "$host" ] && tmux rename-window "$host"     # Save the local hostname to restore later     local_host="$(hostname -s)"     # Run the actual SSH command     command ssh "$@"     # Restore the original window name after logout     tmux rename-window "$local_host"   else     # Not in Tmux — just run ssh normally     command ssh "$@"   fi } # Load the user's regular bash configuration source ~/.bashrc # On shell start, if in Tmux, set the window name to the current hostname if [ -n "$TMUX" ]; then   tmux rename-window "$(hostname -s)" fi  | 
					
3. Przeładowanie konfiguracji Tmux bez restartu
Aby zastosować zmiany bez restartowania całej sesji Tmux, użyj następującego polecenia:
| 
					 1  | 
						tmux source-file ~/.tmux.conf  | 
					
Dodatkowo możesz przeładować bieżącą powłokę z .bash_tmux ręcznie:
| 
					 1  | 
						exec bash --rcfile ~/.bash_tmux  | 
					
4. Efekt końcowy
- Nowe okno Tmux ma automatycznie nazwę lokalnego hosta
 - Po połączeniu przez SSH — zakładka zmienia się na nazwę zdalnego hosta
 - Po wylogowaniu — zakładka wraca do lokalnego hostname
 
Prosto, czytelnie i mega wygodnie — idealne dla adminów, devopsów i fanów porządku w Tmuxie 💪