
Каждый раз, когда я запускаю iTerm или Terminal после того, как не использовал его в течение нескольких часов, требуется около 10-20 секунд, чтобы вернуть приглашение. Экран пустой, и хотя я могу печатать, я не могу выполнить никаких команд.
Если я выхожу из любого из приложений, последующие запуски (если они сделаны относительно скоро) довольно быстрые. Замедление, кажется, происходит только если приложение не было запущено в течение нескольких часов.
Я использую OSX 10.5.7 на MacBookPro. У меня точно такая же настройка на другом компьютере, никаких замедлений.
Есть идеи, как ускорить процесс?
решение1
Попробуйте удалить файлы системного журнала Apple в /var/log/asl/
:
sudo rm /var/log/asl/*.asl
Мне это помогло.
решение2
Еще один совет может оказаться полезным:
Измените стартовую оболочку со стандартной /usr/bin/login
на /bin/bash -l
, или /usr/bin/zsh
, если вы используете zsh.
Это может ускорить запуск вашего Terminal/iTerm2!
Для терминала: Настройки → Запуск: Измените «Оболочка входа по умолчанию» на «Команда:
/bin/bash -l
» .Для iTerm2: Настройки → Профили → Общие → Команда: Измените с «Login Shell» на «Command:
/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
Если приложение терминала загрузилось, но приглашения еще нет, значит, вашей оболочке требуется некоторое время для инициализации.
Это, вероятно, означает, что у вас слишком много дел или что-то отнимает много времени в вашем .bashrc
(предполагая, что вы используетеbash
).