OS X El Capitan 10.11 터미널 2.6은 동일한 작업 디렉토리가있는 새로운 탭을 열지 않습니다.


1

터미널에 대한 기본 설정을 사용하고 있지만 새 탭을 만들 때 작업 디렉토리는 항상 이전 탭의 현재 작업 디렉토리 대신 내 홈 폴더로 설정됩니다.

내 터미널 환경 설정의 이미지는 다음과 같습니다.

http://i.stack.imgur.com/TIIzN.png

일반 설정에서 볼 수 있듯이 "새 탭은 다음과 같이 열립니다 :"는 "동일한 작업 디렉토리"로 설정됩니다. 그것은 작동하지 않는 것 같습니다. 이전 버전의 터미널에서 작동하는 것을 기억합니다.

기본 로그인 쉘이로 설정되었습니다. /bin/zsh, 나는 없다. ~/.zshrc.

나는 같은 것을 설치하지 않고이 문제를 해결할 수 있기를 바란다. oh-my-zsh 또는에 무언가를 추가해야하는 경우 ~/.zshrc. 이것은 아무 것도없이 작동합니다. (적어도 iTerm2에서 그렇습니다.)


최신 정보: 내 기본 로그인 셸이 /bin/bash. 이 파일과 관련이 있다고 생각합니다. /etc/bashrc_Apple_Terminal이것은 쉘이 터미널에 현재 작업 디렉토리를 알려주도록 적절한 이스케이프 시퀀스를 설정합니다. 에 해당하는 파일이 없습니다. zsh 그리고 /etc/zshrc 파일은 매우 작습니다.
Chase Stubblefield

다른 세션은 터미널 에뮬레이터 수준에서 처리되지 않는 한 서로 이야기해서는 안됩니다. Apple이 그렇게하도록 설득하지 않는 한 여기서는 그렇지 않습니다. 또는 일부 데이터를 디스크에 쓰고 나중에로드하십시오. 나는 결코 들여다 보지 않았다. /etc/bashrc_Apple_Terminal,하지만 세션 파일을 ~/.bash_sessions, 그것은 이전 세션 (나는 가정)에서 경로를로드 할 수 있습니다. 당신은 Zsh에서 비슷한 것을 할 수 있지만, 수정하지 않는 요구 사항 ~/.zshrc (나는 당신이 모든 런콤을 제외한다고 가정합니다.) 단순히 비현실적입니다.
4ae1e1

@ 4ae1e1 :이 질문은 (이스케이프 시퀀스를 통해) 현재 작업 디렉토리를 터미널에 전달하는 것에 관한 것이며 쉘 명령 기록과 관련이 없습니다.
Chris Page

답변:


2

OS X에서 기본적으로 Bash는 각 프롬프트에서 이스케이프 시퀀스를 사용하여 터미널에 현재 작업 디렉토리를 전달하도록 구성됩니다. PROMPT_COMMAND 환경 변수.

OS X El Capitan 10.11 이전에는이 ​​코드가에서 발견되었습니다. /etc/bashrc. 10.11 및 이후 버전에서는 터미널 고유의 /etc/bashrc_Apple_Terminal 파일과 /etc/bashrc 적절한 터미널 특정 파일을 실행합니다.

최신 버전 오, 내 Zsh! 터미널에 작업 디렉토리를 알리는 비슷한 코드가 있습니다.

이 작업이 중단 된 가장 큰 이유는 구성을 변경했기 때문입니다. 아마 전에 Bash를 사용하고 있었거나 Oh My Zsh가 설치되어 있었고 지금은 그렇지 않습니다. 또 다른 가능성은 쉘을 터미널 창이나 탭 (일명 "아이콘")으로 설정하여 작업 디렉토리 경로명을 포함하도록하는 것입니다 : 이전 설정의 편리함, 작업 디렉토리가 명시 적으로 설정되어 있지는 않지만 창 또는 탭 제목에 유효한 로컬 경로 이름이 포함되어 있으면 터미널은이를 현재 작업 디렉토리로 간주합니다.


2

Terminal.app의 "새 창 / 탭이 다음과 같이 열리는 경우 : 동일한 작업 디렉토리"옵션이 여전히 zsh와 함께 로그인 쉘로 작동하는지 확인하는 간단한 방법은 zsh가 현재 작업 디렉토리의 변경 사항을 이스케이프 시퀀스를 통해 Terminal.app에 전달하도록 지시하는 것입니다. 나는 그렇게 해왔다. .zshrc 이걸로 :

# tell terminal.app about cwd so new tabs open in same dir
tell_terminal_cwd() {
   cwd=$(print -rD $PWD)
   echo -ne "\033]0;${cwd}\007"
}
precmd_functions+=(tell_terminal_cwd)

이 항목에 대한 Terminal.app의 지침에 따르면 현재 작업 디렉토리를 올바르게 인코딩 된 파일 : // URL (호스트 이름 포함)로 제공하지만 위의 내용이 정상적으로 작동하고 탭 제목에서도 멋지게 보입니다.


0

너와 마찬가지로, 나는 로딩하지 않고 이것을하고 싶었다. 모든 오 - 내 - Zsh.

밝혀지면, 4e306887 정도 (왜 OMZ에는 '버전!'의 개념이없는 것 같습니까?) 나쁜 소프트웨어 개발 관행. ಠ_ಠ), termsupport.zsh 그들이 포함하는 파일은 당신을 위해 이것을 처리합니다. 당신은 functions.zsh 파일 아웃.


개인적으로, 나는 초경량을 사용한다. 모든 그것은 ≤500 라인 파일이기 때문에 사용하기 전에 코드의 Zgen.zsh. OMZ의 나머지 부분을로드하지 않고 OMZ 모듈 등을 사용하는 것을 명시 적으로 지원합니다! 그렇게하기로 한 경우, 다음과 같은 해결책이 있습니다.

if ! zgen saved

   ...

   # Steal omz's termsupport for Apple Terminal. (Hacky; will have to
   # watch to see if this changes.) - <http://superuser.com/a/1031708/22030>
   zgen load robbyrussell/oh-my-zsh lib/functions.zsh
   zgen load robbyrussell/oh-my-zsh lib/termsupport.zsh

   ...

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