Автозаполнение оболочки очень медленное после форматирования частичного диска

Я обновился до Fedora 26 в день официального публичного релиза в начале этой недели, и, короткая история, закончилась тем, что я начинали свою установку, поэтому я сделал частичное переформатирование. Мой дисковый макет следующий:

# df -h | grep dev /dev/sdb3 40G 5.6G 32G 15% / /dev/sdb2 477M 138M 311M 31% /boot /dev/sdb1 200M 34M 167M 17% /boot/efi /dev/sda2 9.8G 940M 8.4G 10% /var /dev/sda1 493G 441G 27G 95% /home 

/dev/sdb – это SSD, где установлен корень, и /dev/sda – обычный жесткий диск, на котором у меня есть мой /home раздел. Я решил сделать чистую установку Fedora 26 вместо того, чтобы пытаться восстановить мое неудачное обновление через dnf , поэтому я переформатировал все разделы в /dev/sdb , SSD и переустановил Fedora 26, оставив /home раздел неповрежденным. Установка прошла нормально, и все, кажется, работает нормально снова, за исключением одного: автозаполнение Zhs теперь является собакой медленной с большими каталогами.

Zsh – моя оболочка по умолчанию, и у меня есть множество плагинов, установленных (Oh My Zsh, FZF и т. Д.), Поэтому я решил, что один из них, возможно, вышел из-под удара во время / после обновления, поэтому я переключился на Bash: автозаполнение занимает хорошие 10-30 секунд (в зависимости от размера гитары). Я установил еще несколько оболочек для устранения причины, и, к моему удивлению, tcsh и fish работают абсолютно нормально. В той же настройке эти двое выполняют отлично, где Bash и Zsh будут висеть в течение хорошего +10 секунд.

Я сделал обычную диагностику с Bash, чья конфигурация довольно ванильная по сравнению с моей установкой Zsh: strace , set -x и т. Д., Но не могла найти большой интерес. Также исключается FZF в качестве проблемы, поскольку медлительность сохраняется после ее удаления … По-прежнему моя кишка говорит мне, что это должна быть какая-то странная проблема хэширования / кэширования механизма завершения, которая как-то влияет на Zsh и Bash, но я не действительно есть доказательства, подтверждающие это. Автозаполнение с меньшими папками (несколько файлов, несколько подкаталогов) отлично работает во всех оболочках, которые я пробовал. Другие вещи, которые я пробовал, – запустить fsck -A -y чтобы убедиться, что у меня нет поврежденных разделов, а также повторно установлено bash-completion и zsh на случай, если некоторые метаданные или кеш повреждены.

Я думаю, что здесь действительно интригует тот факт, что tcsh и fish имеют 0 проблем с автозаполнением всего, что я бросаю на них, но Bash и Zsh этого не делают. Кто-нибудь знает, что здесь происходит? Большое спасибо тому, кто проливает свет на этот вопрос!

  • Как передать переменные среды в новый сеанс входа в ssh?
  • Как проверить, если текущая оболочка zsh уже выполнила команды `dircolors` и` stty`?
  • Расширение скобки слева направо налево
  • Почему эта команда ffmpeg работает в bash, а не zsh?
  • zsh: использовать setopt AUTO_MENU условно, в зависимости от $ PWD
  • Выход функции zsh удаляет ведущие пробелы
  • Zsh, нечувствительное между `_` и` -`
  • Поиск файлов в ZSH не работает
  • One Solution collect form web for “Автозаполнение оболочки очень медленное после форматирования частичного диска”

    Задача решена! Я играл с персистентной трассой, и когда линии и линии вывода прокручивались мимо, я заметил несколько странных вызовов libnotify от Konsole, моего терминала по умолчанию. Это показалось странным, так как после переформатирования у меня больше не было установлен демон демонстрации на рабочем столе (я использую i3, который не входит в один, вы видите). Это дало мне идею попробовать другой эмулятор терминала. Поэтому я попробовал urxvt и вот, проблема исчезла. Я также пробовал с gnome-terminal и без проблем вообще! Может ли быть, что Konsole пыталась отключить уведомление на рабочем столе через dbus / systemd, но тайм-аут, потому что не было установлен демон libnotify для ответа на запрос? Поэтому я установил dunst , который был демоном, который я использовал до обновления, и, как я подозревал, автозаполненная медлительность в Konsole ушла!

    Поэтому я понятия не имею, что делает heck Konsole при запуске автозаполнения, потому что я никогда не вижу никаких всплывающих уведомлений, даже после установки демона, но, во всяком случае, проблема теперь исправлена.

    Я думаю, что я возьму это в команду KDE и посмотрю, что они думают, потому что, хотя я виноват в том, что у меня не установлен демон-демон, другие терминалы, с которыми я пытался справиться, были очень точными.

    В любом случае, спасибо вам за вашу помощь!

    Linux и Unix - лучшая ОС в мире.