如何在 Mac OSX 上加快 Terminal.app 或 iTerm 的速度?

如何在 Mac OSX 上加快 Terminal.app 或 iTerm 的速度?

每次我在幾個小時沒有使用 iTerm 或 Terminal 後啟動它,都需要 10-20 秒才能返回提示。螢幕是空白的,雖然我可以打字,但實際上無法運行任何命令。

如果我退出任一應用程序,後續啟動(如果此後相對較快完成)會非常快。只有當應用程式幾個小時沒有運行時,才會出現速度緩慢的情況。

我在 MacBookPro 上運行 OSX 10.5.7。我在另一台計算機上有完全相同的設置,沒有減慢速度。

有什麼想法可以再加快速度嗎?

答案1

嘗試刪除 Apple 系統日誌檔/var/log/asl/

sudo rm /var/log/asl/*.asl

這對我來說很有效。

答案2

另一個提示可能會有所幫助:

將啟動 shell 從預設更改/usr/bin/login/bin/bash -l,或者/usr/bin/zsh如果您使用 zsh。

這可能會使您的 Terminal/iTerm2 以光速啟動!

  • 對於終端:首選項 → 啟動:從“預設登入 shell”更改為“命令:/bin/bash -l

  • 對於 iTerm2:首選項 → 設定檔 → 常規 → 命令:從“登入 Shell”更改為“命令:/bin/bash -l

答案3

我需要一定的聲譽才能對貼文發表評論嗎?無論如何,清除系統日誌也對我有用,謝謝。我嘗試使用此處的補丁修補 path_helper:gist.github.com/123525,如評論中所建議的http://mjtsai.com/blog/2009/04/01/slow-opening-terminal-windows/(本線程前面提到過)但無濟於事。我收到一個神秘的錯誤。但是,該補丁應該會加快terminal.app 的啟動速度。

添加:正如我所提到的,清除日誌對我來說很有效,但隨著日誌在我刪除日誌後不斷變大,問題仍然出現。我發現「調整」/etc/asl.conf 給了我一個更永久的解決方案。修改是僅記錄被分類為「關鍵」或比該類別更關鍵的訊息,而不是記錄「通知」類別和比該類別更關鍵的訊息。另外,我忽略來自 ftp、mail、local0、local1 的訊息。這是我的 /etc/asl.conf 的貼:

 ##
 # configuration file for syslogd and aslmanager
 ##

# redirect com.apple.message.domain to /var/log/DiagnosticMessages
? [T com.apple.message.domain] store_dir /var/log/DiagnosticMessages exclude_asldb

# authpriv messages are root/admin readable
? [= Facility authpriv] access 0 80

# remoteauth critical, alert, and emergency messages are root/admin readable
? [= Facility remoteauth] [<= Level critical] access 0 80

# broadcast emergency messages
? [= Level emergency] broadcast

# save kernel [PID 0] and launchd [PID 1] messages
? [<= PID 1] store

# save everything from emergency to notice
#? [<= Level notice] store
? [<= Level critical] store

# save lpr info level and above
#? [<= Level info] [= Facility lpr] store

# save all mail, ftp, local0, and local1 messages
#? [= Facility mail] store
#? [= Facility ftp] store
#? [= Facility local0] store
#? [= Facility local1] store

答案4

如果終端應用程式已加載,但您還沒有提示,那麼您的 shell 需要一段時間才能初始化。

這可能意味著您的.bashrc假設你使用bash)。

相關內容