首頁>Apple>source

在上週的某个時候,我的终端機停止使用"使用以下相同選項打開的新選項卡"設置.使用"新視窗..."进行測試的結果相同。

我的外壳是zsh。

I was able to get this to work 通過从Dan Rosenstark此處迴答 https://apple.stackexchange.com/a/340778/398648

# http://superuser.com/a/315029/4952
# Set Apple Terminal.app to resume directory... still necessary 2018-10-26
if [[ $TERM_PROGRAM == "Apple_Terminal" ]] && [[ -z "$INSIDE_EMACS" ]] {
  function chpwd {
    local SEARCH=' '
    local REPLACE='%20'
    local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"
    printf '\e]7;%s\a' "$PWD_URL"
  }
  chpwd
}

但是: I do not know how I could have determined this for myself, or how I could have debugged a similar problem

弄清楚Terminal的初始步骤是什麼的任何技巧都將不胜感激。

不起作用的东西:

其他可能有用的資訊:

  • The "Same Profile"/"Default Profile" settings are honored when changed
  • Adding pwd 作為 .zshrc的第一行 顯示目錄已经是 /home/<myuser>
  • 我已经安裝和卸載了一些涉及 nix的工具和專案 最近(包括 nix-darwin

元資料:

OS        macOS Catalina 10.15.7 (19H2)
Terminal  2.10 (433)
zsh       5.7.1 (x86_64-apple-darwin19.0)
最新回復
  • 5月前
    1 #

    如果在该螢幕快照中單击"轉義序列...",則会看到以下內容:

    但是,這並没有告诉您,這通常是在 /etc/zshrc_Apple_Terminal檔案中解決的 ,从 /etc/zshrc呼叫 .有几件事可以阻止 /etc/zshrc_Apple_Terminal 被呼叫或可以覆盖其尝試執行的操作:

      You are starting Zsh with zsh -dzsh -f .

      您有一个檔案 ${ZDOTDIR:-$HOME}/.zshenv${ZDOTDIR:-$HOME}/.zprofile 在其中你有 setopt NO_rcssetopt NO_globalrcs

      引數 $TERM_PROGRAM 没有值 Apple_Terminal .

      zsh没有對 /etc/zshrc_Apple_Terminal的讀取權限 .

      /etc/zshrc_Apple_Terminal 获取資源,引數 $INSIDE_EMACS 不為零。

      您定義一个函式 precmd 某个時候之後 /etc/zshrc_Apple_Terminal 获取来源,然後覆盖 add-zsh-hook定義的来源 .

      您可以做什麼除錯:

        Start a subshell without non-global config files and see if the bug happens there, too:

         
        cd $(mktemp -d); HOME=$PWD ZDOTDIR=$PWD zsh
        
        如果此子外壳程式中未出現問题,則表明問题出在非全域性dotfile中.您可以通過執行以下操作获取這些檔案的列表
        ls ${ZDOTDIR:-$HOME}/.z(log(in|out)|profile|sh(env|rc))(-^/)
        

        exec zsh -vx重新啟動zsh 並从頭開始研究輸出,看看是否 /etc/zshrc_Apple_Terminal 获取資源,以後是否有任何东西覆盖 precmd 钩上它。

  • macos:SetFile中的型別和建立者選項是什麼?
  • macbook pro:在Mac的第二个螢幕上啟動和停止youtube视频的快捷方式