Mac OS X에서 터미널 제목 변경


39

Mac OS X에서 터미널 창의 제목을 임의로 변경하려면 어떻게해야합니까? 내가 본 이 질문 하고 이 magicwrap 일을 하지만 단순한 맥 OS X 명령 같아요.


이것에 대해 OS X에 관한 것은 아무것도 없습니다. 대답은 거의 모든 터미널에서 작동합니다.
Andrew Aylett

그렇다면 배쉬 전용입니까?
Dan Rosenstark

@Andrew Aylett, 그래서 내가 대답에 넣은 스크립트는 리눅스 배포판에서도 작동합니까?
Dan Rosenstark

예, 유닉스 터미널을 사용하는 (sh-derived shell) 어디에서나 작동해야합니다.
Andrew Aylett

답변:


48

기사 에서는 방법을 알려줍니다.

기본적으로 화면에 에코 된 문자 시퀀스를 사용하여 터미널에 표시 할 제목을 알려줍니다.

title='My first title'
echo -n -e "\033]0;$title\007"

위의 예에서 변수 제목이 설정되는 동안 터미널 제목이됩니다. 물론 다음과 같이 문자열에 제목을 표시 할 수 있습니다.

echo -n -e "\033]0;My first title\007"

그러나 첫 번째 방법은 사용 및 / 또는 나중에 약간 확장하기가 더 쉽습니다.


우수한. echo -n -e "\033]0;$1\007"답변에 샘플 스크립트 (예 : 이와 같은? )를 포함시켜 최상의 답변을 표시 할 수 있습니까?
Dan Rosenstark

2
printf 가 더 안정적 일 수 있습니다 : printf "\033]0;%s\007" "$title_variable"( 에코 의 다양한 옵션과 동작은 모든 시스템, 쉘 또는 쉘 옵션에서 동일하지 않습니다) 또한 bash의 변수 할당 은 등호 주위에 공백이 없어야합니다.
Chris Johnsen

1
함수 내에서 $ *를 사용 했으므로 제목 문자열을 인용 할 필요가 없습니다.
BeepDog

C 프로그램 내에서 제목을 변경하는 방법이 있습니까? 내가 생각하고있는 프로그램은 ncurses.h를 기반으로 애니메이션을 실행 중이므로 터미널에 에코하는 방법을 잘 모르겠습니다 :-(
phs

OK : fprintf (stdout, ..) 만 작동합니다. 물어보기 전에 시도 했어야 했어요.
phs

34

다음을 추가하면 ~/.profile동일한 효과를 얻을 수 있습니다 .

# function for setting terminal titles in OSX
function title {
  printf "\033]0;%s\007" "$1"
}

그런 다음 빨리 title 'et voila'탭을 모두 정렬합니다.


.profile에 많은 기능이있는 경우 왜 문제가됩니까? 한계가 있습니까?
tgkprog 2016 년

1
IDK 왜 .profile 대신 .bash_profile을 편집해야 함
Nakilon

2
또는 : alias title="printf '\033]0;%s\007'".
kenorb

export alias title="printf '\033]0;%s\007'"
Mwayi

을 사용하여 추가 할 수도 있습니다 sudo nano /etc/bashrc. 모든 사용자에게 실행됩니다. 터미널 세션을 다시 시작하거나 source /etc/bashrc변경 사항을 적용하십시오.
Eugene Kulabuhov

8

Dan MgG의 답변 리믹스 :

echo -n -e "\033]0;$1\007"

/ usr / bin / title (sudo! 사용) 파일에 저장하고 + x로 chmod하십시오. 그런 다음 어디서나 입력 할 수 있습니다

title 'Trying to Figure This GIT Thing Out'

그리고 당신은 좋은 작은 제목을 얻습니다.

(잘 이해하면 OSX를 사용하지 않으면 구문이 다를 수 있습니다)


최신 버전의 OS X 중 하나를 사용하는 경우 /usr/local/bin/title대신 수행 할 수 있습니다 .
Samy Bencherif

2

sh 기반 명령 행 솔루션의 대안으로, OS X 터미널 앱은 다음과 같이 제목을 변경하기위한 환경 설정을 갖습니다. 터미널-> 쉘 메뉴에서 "제목 편집"선택 사항을 선택하면 제목을 변경할 수 있습니다 용이하게.


1

OS X에서 터미널 환경 설정은에 저장됩니다 ~/Library/Preferences/com.apple.Terminal.plist.

터미널의 제목은 WindowTitle기본 설정에 저장됩니다 .


0

고마워 방금 .bashrc에 함수를 추가했습니다.

    function stit() {
    echo -n -e "\033]0;$1\007"
}

내 마음에 "stit"= "set_title"에 대한 편리한 지름길. 이제 창의 제목을 즉석에서 설정하려면 다음을 입력하십시오.

stit "[new window title]"

0

우수 답변으로 표시된 답글이 제대로 작동합니다. 이것이 내가 한 일입니다.

tell application "Terminal"
    activate
    do script "echo -n -e \"\\033]0;WorkerTab1\\007\"; cd $HOME/folder1"
end tell

그러면 새 탭의 이름이 WorkerTab1로 설정되고 "cd"등과 같은 다른 명령이 수행됩니다.

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