응용 프로그램을 열 때 여러 개의 셸 탭이 열리도록 터미널을 어떻게 사용자 정의 할 수 있습니까? 가능하면 각 탭마다 다른 환경 스크립트를 실행하고 싶습니다.
예 : source bin/activate
Python virtualenv 설치 명령 인 이 명령 을 실행하십시오 .
답변
~/.bash_profile
bash를 사용하거나 ~/.zshrc
zsh를 사용하는 경우 COMMANDS
배열 의 내용을 변경하면 이것을 추가하십시오 .
function openterms() {
COMMANDS=("source bin/activate" "add another here" "continue likewise")
for command in $COMMANDS
do osascript -e \
"tell application \"Terminal\" to do script with command \"$command\""
done
}
이제 openterms
쉘을 호출 하면 원하는 다른 모든 쉘이 열립니다.
답변
내가 사용하고 키보드 마에스트로 . 나는 한 번 터미널을 설정하는 매크로 (iTerm을 사용하고 있지만 중요하지 않음)를 기록하여 iTerm을 시작 하여이 매크로를 트리거하도록 만들었습니다.
시작하면 원하는대로 설정됩니다. 두 개의 창, 각 탭에 적절하게 이름이 지정된 다른 폴더에 대한 다섯 개의 탭 및 내 서버에 연결된 두 개의 탭이있는 다른 창 중 하나는 모니터링 스크립트를 시작합니다. 이 모든 것은 터미널이 시작된 후 2 초 이내에 완료되는데, 사전에 1 분 이상이 소요됩니다.
아무 노력없이 같은 상태로 다시 열 수 있기 때문에 필요한 경우 iTerm을 닫는 것이 두렵지 않습니다.
그건 그렇고, 키보드 Maestro는 다른 많은 것들에도 좋습니다. 나는 최근에 그것을 발견 한 mupromo.com에서 할인 된 가격으로 그것을 샀다.
답변
Josh K가 언급했듯이 특정 레이아웃과 모양으로 하나 이상의 창을 열 수있는 창 그룹을 만들 수 있습니다. 또한 “설정 프로파일”(터미널> 환경 설정> 설정)은 해당 프로파일로 터미널을 작성할 때 실행할 명령을 지정할 수 있습니다. 실행하려는 각 명령에 대해 별도의 프로파일을 작성한 다음 해당 프로파일로 창을 작성할 수 있습니다. 창 그룹에 저장하고 다시 열면 해당 명령이 해당 창에서 실행됩니다. 시작할 때 터미널이 특정 창 그룹을 열도록 할 수도 있습니다.
Mac OS X Lion 10.7부터이 영역에서 몇 가지 새로운 개선 사항이 있습니다.
-
이력서는 터미널을 종료 할 때 열려 있던 창을 자동으로 복원하므로 창 그룹을 사용하는 것은 더 이상 엄격하게 필요하지는 않습니다 (단, 창을 닫은 경우 특정 설정을 다시 만들 수는 있지만).
-
Shell> New Command를 사용하여 새 터미널을 만들면 터미널은 실행 한 명령을 알고 있으므로 다시 실행하여 복원 할 수 있습니다. 터미널은 이제 다시 시작할 때 “안전한”명령 †을 자동으로 복원합니다.
-
이러한 종류의 터미널을 창 그룹에 저장하면 터미널은 이러한 명령을 복원합니다. 또한 창 그룹을 저장할 때 “안전한”명령뿐만 아니라 모든 명령을 복원 할 수있는 옵션이 있습니다. 따라서 더 이상 실행하려는 각 명령에 대해 별도의 설정 프로파일을 만들 필요가 없습니다.
† “안전한”명령에는 /etc/shells
, emacs, vi / vim, nano, pico, top, screen, tmux 및 Shell> New Remote Connection으로 작성된 명령 (예 : ssh 세션)에 나열된 항목이 포함됩니다 . 인수와 함께 사용될 때는 top 만 “안전한”것으로 간주됩니다. 다른 것들은 사용자 확인 없이는 원하지 않는 일을 할 수있는 인수를 지원하므로 인수없이 호출되지 않으면 자동 복원에 대해 “안전한”것으로 간주되지 않습니다. “defaults write com.apple.Terminal RestorableCommands”를 사용하여 “안전한”명령 목록을 사용자화할 수 있습니다. 값은 명령 이름이 포함 된 문자열 목록입니다. 인수가 허용됨을 나타내려면 명령 뒤에 별표를 추가하십시오. 예를 들어, “top *”은 인수와 함께 사용될 때 top safe를 만들지 만 “top”은 그렇지 않습니다.