iTerm / Terminal OS X повільно відкриває оболонку


14

Я використовую OS X 10.8 і останнім часом помічаю, що iTerm2 іноді може бути досить повільним з відкриттям нової оболонки. Минуло близько 5 секунд, перш ніж я можу щось зробити. Можливо, це не здається багато, але я багато працюю в оболонці, щоб це могло стати дуже дратує.

Я використовую ZSH з oh-my-zsh.

Я спробував Terminal, видалив oh-my-zsh, очистивши все непотрібне від файлів запуску (.zshenv, .zlogin, .zprofile, .zshrc, .zlogout) та очистивши ASL-файли в / var / log / asl та хоча він трохи знижується (як 0,20s), нічого, що зводить це до миттєвого або навіть нижче 3,0, не існує.

У когось трапляється інша ідея?


Питання, пов’язані з цим: 31403 , 41743 , 236953 , 444614
Lri

Ви спробували змінити команду для нових оболонок на щось подібне login -pfq username /usr/local/bin/zsh?
Лрі

@ lauri-ranta: Спробував усе в інших темах, але безрезультатно. Спроба "login -pfq username / usr / local / bin / zsh" також нічого не зробила.
Димитрій

Щоб дізнатися, чи пов’язано це з оболонкою або iTerm2: скільки часу потрібно для запуску нової оболонки? (ввівши zshу вже відкрите вікно терміналу)?
Маттео

додати до .zshrc:[ $((RANDOM & 1)) -eq 0 ] && do not sleep 5
theoden8

Відповіді:


18

Очистити вхід /var/log/asl, тобто

rm -rf /var/log/asl/*.asl

1
Чи можете ви пояснити, Чому iterm сповільнюється цією папкою журналів і чи можна зробити щось, щоб насправді зупинити цю проблему?
Девід

2
@david Ви можете перевірити це посилання, щоб зрозуміти причину, чому нові вкладки повільні. apple.stackexchange.com/a/71930/89583
Архан Мішра,

Вау --- спасибі, дякую --- за iterm2, здається, що відповідь полягає у використанні пропозиції внизу цієї сторінки (/ bin / bash -il) від хлопця, котрий припустився до -1. Чудово працює.
Девід

12

За коментарем Архана Мішри вище, для iTerm 2 відповідь полягає у створенні користувацької термінальної команди, /bin/bash -il яка обходить пошук системних журналів ASL повністю. iterm2 зараз відкривається миттєво.


1

Це кроки, які я використав для оптимізації швидкості запуску оболонки та зменшення відставання у виконанні команд -

  1. Якщо ви використовуєте powerlevel9k, то я рекомендую негайно перейти на powerlevel10k .

Powerlevel10k - тема Zsh. Він підкреслює швидкість, гнучкість та нестандартний досвід. Це повторне втілення популярної теми Powerlevel9k zsh. Це виглядає точно так само, враховуючи ту саму конфігурацію, але рендерінг робить 10-100 разів швидше. Він оптимізований на кожному рівні стеку, аж до використання виправленої версії libgit2, яка може сканувати репо в 4 рази швидше, ніж оригінал. Він може видалити відставання запуску Zsh, навіть якщо це не викликано темою з такими функціями, як Instant Prompt.

  1. Перейдіть до Налаштування -> Профілі -> Загальні -> Команда та виберіть опцію Команда замість входу в оболонку та вставте нижню команду у вікно, що знаходиться поруч.
login -pfq username /usr/local/bin/zsh -il

Під час запуску нової вкладки ви не побачили останнього часу входу в систему. Якщо zsh відсутній у розташуванні / usr / local / bin / zsh, вам потрібно буде встановити zsh за допомогою brew. Типовий zsh, наданий mac, знаходиться в / usr / bin / zsh і, можливо, використовує старішу версію на зразок 5.2, яка може спричинити низьку швидкість при використанні з iTerm або oh-my-zsh.

  1. Щоб зробити вставку в zsh швидко, виконайте команду нижче в терміналі.
mkdir -p $ZSH_CUSTOM/lib && touch $ZSH_CUSTOM/lib/misc.zsh
  1. Точка 2 повинна вже піклуватися про повільний час входу. Але тільки для безпеки виконайте наведену нижче команду
mkdir -p .hushlogin
  1. Існує багато плагінів, які ви можете використовувати, які повільно і створюють відставання. Потрібно вказати на ці плагіни та видалити їх. Для цього вам знадобиться zsh-профілювання. Щоб отримати докладнішу інформацію, перейдіть за цим посиланням -

https://stevenvanbael.com/profiling-zsh-startup


Ласкаво просимо до Супер Користувача! Будь ласка, не публікуйте однакову відповідь на кілька запитань. Якщо однакова інформація дійсно відповідає на обидва запитання, то одне питання (як правило, нове) має бути закрите як дублікат іншого. Ви можете вказати це, проголосувавши, щоб закрити його як дублікат або, якщо у вас недостатньо репутації для цього, підняти прапор, щоб вказати, що це дублікат. В іншому випадку підгадуйте свою відповідь на це питання і не просто вставляйте однакову відповідь у декілька місць.
DavidPostill
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.