Відповіді:
Ви маєте на увазі вікно tmux? Ctrl + b + ,
якщо у вас є префікс Cb як відправлення (за замовчуванням)
Також C-b :rename-window <new name>
і tmux rename-window <new name>
працювати теж.
Як я знаю, ви не можете перейменувати панель
ls
set-option -g allow-rename off
так, ви можете перейменовувати імена панелей, а не лише імена вікон, починаючи з tmux> = 2.3. Просто введіть у свою оболонку:
printf '\033]2;%s\033\\' 'title goes here'
Вам може знадобитися додати до свого .tmux.conf, щоб відобразити імена панелей:
# Enable names for panes
set -g pane-border-status top
Ви також можете автоматично призначити ім'я:
set -g pane-border-format "#P: #{pane_current_command}"
Для цих сценаріїв tmux існує команда, яка називається rename-window
так, наприклад
tmux rename-window -t <window> <newname>
tmux rename-window -t 9 my-project
.
Для тих, хто хоче легко перейменувати свої панелі, це те, що я маю в своєму .tmux.conf
set -g default-command ' \
function renamePane () { \
read -p "Enter Pane Name: " pane_name; \
printf "\033]2;%s\033\\r:r" "${pane_name}"; \
}; \
export -f renamePane; \
bash -i'
set -g pane-border-status top
set -g pane-border-format "#{pane_index} #T #{pane_current_command}"
bind-key -T prefix R send-keys "renamePane" C-m
Панелі автоматично іменуються їх індексом, назвою машини та поточною командою. Щоб змінити ім'я машини, ви можете запустити, <C-b>R
який запропонує ввести нове ім'я.
* Перейменування панелі працює лише тоді, коли ви знаходитесь в оболонці.
Також під час написання сценарію ви можете вказати ім'я під час створення вікна за допомогою -n <window name>
. Наприклад:
# variable to store the session name
SESSION="my_session"
# set up session
tmux -2 new-session -d -s $SESSION
# create window; split into panes
tmux new-window -t $SESSION:0 -n 'My Window with a Name'
Найпростішим варіантом для мене було перейменування назви терміналу. Будь ласка, дивіться: /superuser/362227/how-to-change-the-title-of-the-mintty-window
У цій відповіді вони згадують про зміну змінної PS1. Зауважте: моя ситуація стосувалася цигуна.
TL; DR Помістіть це у свій .bashrc файл:
function settitle() {
export PS1="\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n$ "
echo -ne "\e]0;$1\a"
}
Помістіть це у свій .tmux.conf файл чи подібне форматування:
set -g pane-border-status bottom
set -g pane-border-format "#P #T #{pane_current_command}"
Потім ви можете змінити назву панелі, ввівши це в консолі:
settitle titlename
Ви можете скорегувати заголовок панелі, встановивши рамку області в tmux.conf, наприклад, так:
###############
# pane border #
###############
set -g pane-border-status bottom
#colors for pane borders
setw -g pane-border-style fg=green,bg=black
setw -g pane-active-border-style fg=colour118,bg=black
setw -g automatic-rename off
setw -g pane-border-format ' #{pane_index} #{pane_title} : #{pane_current_path} '
# active pane normal, other shaded out
setw -g window-style fg=colour28,bg=colour16
setw -g window-active-style fg=colour46,bg=colour16
Де pane_index, pane_title та pane_current_path - це змінні, надані самим tmux.
Після перезавантаження конфігурації або запуску нового сеансу tmux ви можете встановити назву поточної панелі таким чином:
tmux select-pane -T "fancy pane title";
#or
tmux select-pane -t paneIndexInteger -T "fancy pane title";
Якщо на всіх панелях запущені певні процеси, і ви не можете використовувати командний рядок, ви також можете ввести команди після натискання префіксу bind (Cb за замовчуванням) та двокрапки (:), не маючи "tmux" в передній частині команда:
select-pane -T "fancy pane title"
#or:
select-pane -t paneIndexInteger -T "fancy pane title"
tmux
показувати це.