tmux에서 창 이름을 바꾸는 방법은 무엇입니까?


119

에서 창 이름을 바꾸는 방법은 tmux무엇입니까?

답변:


186

tmux window를 의미합니까? Ctrl + b + ,전송 접두사로 Cb가있는 경우 (기본적으로)

또한 C-b :rename-window <new name>tmux rename-window <new name>작업도.

내가 알고 있듯이 창 이름을 바꿀 수 없습니다.


현재 창 이름을 바꿀 때 입력중인 내용을 볼 수 없습니다. 기본적으로 설정되어 있습니까? 아니면 내 구성 때문입니까? 내 구성이 그것을 tmux보여주는 것을 방해하지 않는다고 생각하지만 .
zyy

명확히하기 위해 창 이름을 바꿀 수 있으며 실수로 이진 출력으로 인해 창이 손상 될 때 필요합니다. @Mapad의 대답은 이것을 해결합니다.
fuzzyTew 19

창 이름 바꾸기가 요청 될 때 이름 바꾸기 창은 어떻게 수락 된 대답이됩니다.
XMAN

그 때마다 되돌려집니다ls
anilbey

2
@anilbey 여기도 마찬가지입니다. 그에 대한 해결책은set-option -g allow-rename off
joeytwiddle

36

예, 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}"

명령의 인수를 창 테두리 형식에 넣는 방법이 있습니까? 아, github에 해당하는 문제 가 있습니다.
konstunn

15

그 스크립트 TMUX를 들어,라는 명령이 rename-window 그래서는 예를 들어,

tmux rename-window -t <window> <newname>

제 경우에는 다음과 같습니다 tmux rename-window -t 9 my-project..
borracciaBlu

8

창 이름을 쉽게 바꾸고 싶은 분들을 위해 .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새 이름을 입력하라는 메시지를 실행할 수 있습니다 .

* 창 이름 바꾸기는 쉘에있을 때만 작동합니다.


4

또한 스크립팅 할 때를 사용하여 창을 만들 때 이름을 지정할 수 있습니다 -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'

3

저에게 가장 쉬운 방법은 대신 터미널의 제목을 바꾸는 것이 었습니다. 참조 : /superuser/362227/how-to-change-the-title-of-the-mintty-window

이 답변에서 그들은 PS1 변수를 수정하도록 언급합니다. 참고 : 내 상황은 cygwin에만 국한되었습니다.

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

0

다음과 같이 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)와 콜론 (:)을 누른 후 명령을 입력 할 수도 있습니다. 명령:

select-pane -T "fancy pane title"
#or:
select-pane -t paneIndexInteger -T "fancy pane title"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.