그놈 터미널 제목을 변경하는 방법?


165

작업 환경에서 여러 터미널 인스턴스가 실행 중입니다. 특정 터미널이 어떤 목적을 제공하는지 명확하게 파악하기 위해 각 터미널마다 특정 제목을 설정하는 것입니다. 예 : Apache, editing_ini, postgres 등 ...

물론 명령 줄에서.


Ward의 의견에 추가 : 제목 변경 이스케이프 시퀀스를 보내기 전에 "PROMPT_COMMAND" 설정 해제하는 것을 잊지 마십시오 . 그렇지 않으면 다음 쉘 프롬프트가 표시되는 즉시 변경 사항이 손실됩니다.
Jon Green

KDE에 대한 비슷한 질문에 대해서는 stackoverflow.com/questions/8782159/…
naught101

OS X에서 Ubuntu로 전환 할 때이 문제가 발생했습니다. 멀티탭 설정에서 커스텀 타이틀을 얻기 위해 필자가 작성한 이 스크립트gnome-terminal --load-config 와 함께 사용 했습니다 .
1

3
홈 디렉토리의 .bashrc 파일에 다음을 추가하십시오. # set title of current terminal setTerminalTitle(){ echo -ne "\033]0;${1}\007" } alias termttl=setTerminalTitletitlettl 별칭을 사용하여 제목을 설정할 수 있습니다.termttl askubuntu
urmalp

1
"보호"되어 있으므로 답변을 제공 할 수 없습니다. Gnome3 gnome-terminal기본값은 PROMPT_COMMAND=__vte_prompt_command입니다. prefs의 프로파일 값을 사용합니다. 프로필이 여러 개인 경우 새 탭새 창 메뉴 항목에는 각 프로필에 대한 하위 메뉴 항목이 있습니다. 수동으로 새 터미널 탭을 열고 탭 제목을 마우스 오른쪽 버튼으로 클릭 한 다음 제목 설정 ...을 선택 하십시오 . (이것은 별도의 답변에서 훨씬 쉽게 읽을 수 있지만 ...)
Rich

답변:


145
  • 가장 사용자 친화적 인 방법은 메뉴-> "제목 설정 ..."메뉴에서 선택하는 것입니다.

  • 그러나 다른 방법이 있지만 발행 할 수도 있습니다

    gnome-terminal --title="SOME TITLE HERE"
    

    당신이 .bashrc그 행동을 덮어 쓸 가능성이 높기 때문에 이것은 원하는 효과를 줄 수 없습니다 .

  • 마지막 방법으로 우리를 데려 오십시오 .bashrc.

    PROMPT_COMMAND='echo -ne "\033]0;SOME TITLE HERE\007"'
    

추가 참조로, 이것은 내 특정 줄입니다. .bashrc

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'

~ / .bashrc에이 코드를 주석 처리해야 할 수도 있습니다.

case "$TERM" in
xterm*|rxvt*)
    # JEFFYEE REMOVED because it makes commands to title() not work
    #PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

2
적용하려면 언급 한대로 주석을 달거나 제거해야합니다!
토플리스

1
@Ward : PROMPT_COMMANDA는 프로그램 실행은. PS1하고 PS1있는 텍스트 문자열 이 표시됩니다. 위의 예제에서 실행되는 명령은입니다. echo그러면 단순히 문자열이 인쇄됩니다. 참조 man bash또는 manpages.ubuntu.com/bash 자세한 내용은.
sladen

29
그놈 터미널 3.16.2 말한다Option "--title" is no longer supported in this version of gnome-terminal.
이반 Kozik

10
그놈 3.18.3에서 메뉴에는 "제목 설정"항목이 없습니다 : /
샤디

2
위 문자열에서 gobbledegook에 의해 혼란스러워하는 사람은 ANSI 이스케이프 문자입니다. 예를 들어 lihaoyi.com/post/…
WillC

65

터미널을 열 때마다 현재 어떤 호스트에 있는지에 따라 타이틀을 설정하려면 Ward의 답변이 좋습니다. 그래도 제목을 빠르게 설정하려면 자체적으로 에코를 실행할 수 있습니다.

echo -ne "\033]0;SOME TITLE HERE\007"

또는 간단한 기능 () 내부 ~/.bashrc를 말하십시오.termtitle

termtitle() { printf "\033]0;$*\007"; }

당신은 함께 실행할 수 있습니다 termtitle some title here.


3
또는 유사하게 우리는 ~ / .bash_aliases에 선 아래로 추가하여 bash는 별칭으로 추가 할 수 있습니다 function set_title() { echo -ne "\033]0;${1}\007" } alias title=set_title후 사용하십시오 $ title term_title
murarisumit

11
슬프게도 그놈 터미널 3.6.2에서 작동하지 않는 것 같습니다.
austinmarton

1
xterm 322 또는 konsole 16.12에서도 작동하지 않는 것 같습니다. 불행히도 새로운 방법이 있는지 모르겠습니다. :(
naught101

2
@ 실제로이 경우에는 문제가되지 않습니다 3ocene, 그들은 같은 일을하지만, 예를 들어 있기 때문에,로 얻을 수있는 좋은 습관 $var_log과는 ${var}_log매우 다른 일을하고, 차이가 스크립트에 버그가 발생할 수 있습니다.
naught101

2
그것이 효과가 없다면 PROMPT_COMMAND var 또는 PS1 var가 설정되어 재정의하고 있기 때문일 수 있습니다. unset PROMPT_COMMAND제목을 바꾸도록 설정하십시오. 예 : export PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "$(basename $PWD)"'
gaoithe

32

Vim 편집기를 사용하는 경우 vimrc에서이 옵션을 활성화 할 수도 있습니다.

:set title

기본적으로 비활성화되어 있습니다. 현재 편집중인 파일 이름과 다른 것들을 보여주는 멋진 터미널 제목을 설정합니다.


26

완성도를 높이기 gnome-terminal위해이 명령을 사용 하여 제목을 설정할 수도 있습니다 .

wmctrl -r :ACTIVE: -N "MyWindowTitle"

먼저 wmctrlwmctrl 설치 패키지를 설치해야합니다 .


1
터미널 제목에 MyWindowTitle이 표시되지 않습니다. wmctrl -m을 수행하면 나타납니다.
sureshvv

2
wmctrl은 탭 제목이 아닌 창 제목을 변경하지만 이스케이프 문자 솔루션은 탭 제목을 변경합니다. 또한 탭간에 전환하면 창 제목이 원래 탭 제목으로 다시 바뀝니다.
redochka

23

아아, 너무 많은 답변 ...

나는 시도 wmctrl하는 거의 내가 적어도 영구적으로,이 아이콘의 제목을 변경 할 수 없었다 제외했다.

문제는 우분투에서 Bash의 PS1이 제목을 설정한다는 것입니다.

기본 PS1은

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ 

... 첫 번째 이스케이프 시퀀스에서 제목을 설정합니다. \e]0;\u@\h: \w\a

따라서 두 가지 해결책이 있습니다.

해결 방법 1 : PS1을 단순화 한 다음 PROMPT_COMMAND를 사용하십시오.

PS1을 더 간단한 것으로 변경하십시오.

PS1="\u@\h:\w\$ "

그런 다음 PROMPT_COMMAND를 사용하십시오.

PROMPT_COMMAND='echo -ne "\033]0;SOME TITLE HERE\007"'

해결 방법 2 : PS1 직접 수정

새로운 제목으로 PS1을 수정하기 만하면됩니다.

PS1='\[\e]0;newtitle\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

안녕, 나는 당신의 대답을 아주 많이 좋아합니다. ]0;코드에서 의 역할을 설명해 주시겠습니까 ? 나는의 의미를 찾을 생각 echo -e '\007 \033'ascii -o나는 진실이가 중 ... 덕분에 무엇을하고 있는지 잘 모르겠어요하지만 ... 명령을
isomorphismes

2
@iso \e또는 \033이스케이프 (ESC) 문자이며 이스케이프 시퀀스를 시작합니다. ]운영 체제 명령 (OSC)을 시작합니다. xterm의 경우 0;"제목 설정"을 의미 \a하거나 \007OSC를 종료하는 벨 (BEL) 문자입니다. 추가 정보 : en.wikipedia.org/wiki/ANSI_escape_code#Escape_sequences
wjandrea

@wjandrea 나는 해당하는 이스케이프 문자를 찾고 (WAS \e\a)에 대한 \033\007하지만 구글을 입력 할 수있는 권리 키워드를 알고하지 않았기 때문에 나는 확실히 그들을 찾을 수 없습니다. 당신이 준 링크도 유용합니다. 귀하의 의견을 답변으로 전환 해 주시겠습니까?
SebMa

10

Ubuntu 사용자 인 경우 HUD를 사용하여 그놈 터미널 탭의 제목을 변경할 수 있습니다 .

그놈 터미널에서 Alt 키를 눌러 HUD를 불러오고 처음 몇 글자 (예 : "tit")를 입력 한 다음 Enter 키를 누르고 새 제목을 입력하십시오.

이것은 매우 빠른 방법이며 마우스 사용을 피합니다.


1
과연. 키보드에 손을 유지합니다. 기존 제목이 표시되므로이 방법을 사용하여 기존 제목을 빠르고 쉽게 수정할 수도 있습니다.
브렌트 파우스트

tit 는 영어 우분투 전용입니다.
törzsmókus

그리고 전체 옵션이 제거되었습니다 :(
törzsmókus

F2키는 마우스를 피할 수 있습니다.
동 형사상

@ törzsmókus And French- titre ;)
wjandrea

3

의 제목을 변경하는 또 다른 방법은 gnome-terminal사용하는 것입니다을 gconftool-2; 이렇게하면 선택한 프로필 의 초기 터미널 제목이 변경 되므로 'Apache', 'Editing'등과 같은 제목과 관련된 다른 프로필을 가질 수 있습니다. 그런 다음 gnome-terminal적절한 프로필로 시작 하여 지정한 터미널 제목을 가져옵니다. 이것은 gnome-terminal --title "name"터미널 당 제목이 변경 되는 것과 대조적 이지만 프로필에 지정된 초기 제목에는 영향을 미치지 않습니다.

스크립트에서 다음 명령을 사용하여 프로파일의 터미널 이름을 설정할 수 있으며 하루 중 특정 시간에 터미널 이름을 변경하여 사용자에게 상기시킬 수 있습니다.

gconftool-2 --set /apps/gnome-terminal/profiles/Default/title --type=string "Apache"

기본 프로필 용이지만 예를 들어 다음 Default과 같은 다른 프로필 로 변경하여 다른 프로필의 제목을 설정할 수도 있습니다 Profile0.

gconftool-2 --set /apps/gnome-terminal/profiles/Profile0/title --type=string "Editing"

제목을 변경하는이 방법은 스크립팅에서 사용되는 방식이나 프로필의 제목을 설정하는 빠른 명령 줄 방식으로 사용된다고 생각했습니다. gconftool-2설정이 적용 되려면 지정된 프로파일로 터미널을 다시 시작해야하는 경우가 있습니다 . 사용 가능한 전체 설정 gnome-terminal은로 표시 될 수 있습니다 gconftool-2 -R /apps/gnome-terminal.


3

또 다른 솔루션은 xdotool을 사용하여 키 입력을 시뮬레이트하여 스크립트에 유용 할 수 있습니다.

  1. gnome-terminal에서 키보드 단축키를 설정하십시오.

    Edit > Keyboard Shortcuts... > Terminal > Set Title
    

    예를 들어 Shift+Ctrl+Y.

  2. xdotool아직 설치 하지 않은 경우 설치 하십시오.

    sudo apt-get install xdotool
    
  3. 다음 명령 시퀀스 (bash 스크립트에서도 사용할 수 있음)는 터미널 / 탭 제목을 설정합니다 (공백을 사용하여 이스케이프 처리 \).

    xdotool key ctrl+shift+y 
    xdotool type My\ new\ fabulous\ title
    xdotool key Return
    
  4. [선택 사항] 다음을 사용하여 xdotool을 사용하여 새 탭을 열고 위 명령으로 제목을 설정할 수도 있습니다.

    xdotool key ctrl+shift+t
    

    예를 들어 sleep 1(1 초 동안 대기하기 위해) 새 탭을 열기 전후에 절전 시간을 추가하십시오 .

이것은 가장 우아한 해결책은 아니지만 나를 위해 일했습니다! 필자의 경우 이전 답변이 작동하지 않았습니다. 우분투 14.04에서 그놈 터미널을 사용하고 bash 스크립트를 만들고 싶었습니다.


1

제목에 현재 작업 디렉토리 만 표시하려면 '.bashrc'에서 시도하십시오.

PROMPT_COMMAND='echo -ne "\033]0; ${PWD##*/}\007"'

또는

PROMPT_COMMAND='echo -ne "\033]0;$(basename ${PWD})\007"' 

0

이것은 내 그놈 터미널 3.18.3 에서 작동했습니다 .

.bashrc 파일을 편집 하고이 기능을 추가하십시오

# Update gnome terminal title
function termtitle() {
    # take argument
    TITLE=$1
    shift
    # update title
    PROMPT_COMMAND='echo -ne "\033]0; $TITLE \007"'
}

잊지 마십시오 source당신 의 .bashrc의 파일

$ source ~/.bashrc

그런 다음 간단히 다음과 같이 터미널 제목을 변경할 수 있습니다.

$ termtitle "MariaDB CLI"

0

내 대답은 나에게 효과가 없었던 새로운 대답과 비슷합니다. 가장 오래된 답변은 더 이상 작동하지 않습니다. 중간에 오래된 답변이 너무 많이 입력되어 ~/.bashrc파일에 함수를 만들었습니다 .

function termtitle() { PS1="${PS1/\\u@\\h: \\w/$@}"; }

기능을 추가하거나 변경 한 후 또는 제목을 다시 재설정하려면 다음을 사용하십시오.

. ~/.bashrc
termtitle Special Projects

그렇지 않으면 매일 termtitle새로운 제목으로 사용하십시오.



-1

gnome 3을 사용하는 경우 편리한 Terminal > Set Title메뉴 옵션이 제거되었습니다. "제목 설정"메뉴 옵션이있는 그놈 2 분기 형 터미널을 설치하고 대신 실행할 수 있습니다.

sudo apt-get install mate-terminal

"터미널"을 실행하는 대신 "MATE 터미널"을 실행하십시오. 에서 mate-terminal을 선택해야 할 수도 있습니다 sudo update-alternatives --config x-terminal-emulator.

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