今週初めの公式公開日に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
パーティションがある通常のHDDです/home
。失敗したアップグレードを修正するのではなく、Fedora 26を新しくインストールすることを決定し、SSDのすべてのパーティションを再フォーマットし、パーティションをそのまま維持しながらdnf
Fedora 26を再インストールしました。インストールがスムーズに行われ、1つを除いて、すべてが再びうまく機能するようです。これで、Zhsオートコンプリート機能は、より大きなディレクトリに対して非常に遅くなります。/dev/sdb
/home
Zshが私のデフォルトのシェルで、多数のプラグイン(ああ、私のZsh、FZFなど)がインストールされているので、アップグレード中/以降にプラグインのいずれかに問題がある可能性があると考えてBashに切り替えました。 、オートコンプリートが表示されるまでに10〜30秒(ディレクトリのサイズによって異なります)がかかります。問題を解決するためにシェルをさらにインストールしましたが、驚くほど完璧に機能しtcsh
ました。fish
同じ設定でBashとZshが10秒間停止するなど、この2つのパフォーマンスは非常に優れています。
私はZshインストールと比較して非常に普通の構成を持つBashを使用して一般的な診断を行いましたが、多くの注意が見つかりませんでしstrace
たset -x
。また、削除後もまだ遅いので、FZF関連の問題を排除しました...私の直感では、これは何らかの方法でZshとBashに影響を与える完成エンジンの奇妙なハッシュ/キャッシュの問題であるに違いないと言いますが、私はそれを知りません。実際にこれを裏付ける証拠があります。オートコンプリートのために小さなフォルダ(いくつかのファイル、いくつかのサブディレクトリ)を使用すると、私が試したすべてのシェルでうまく機能します。私が試した別の方法は、fsck -A -y
破損したパーティションがないことを確認するために実行し、いくつかのメタデータまたはキャッシュが破損した場合に備えて再インストールbash-completion
することです。zsh
ここで本当に興味深いのは、オートコンプリートが私が投げるすべてに問題がないという事実ですが、BashとZshはそうではありませんtcsh
。fish
何が起こっているのか知っている人はいますか?これについてご存知の方には本当にありがとうございました!
答え1
問題が解決しました!私はあちこちに歩き回り、perf trace
出力行がスクロールし続けたので、Konsole(私のデフォルトの端末)でlibnotifyへの奇妙な呼び出しを垣間見ることができました。再フォーマットした後は、デスクトップ通知デーモンがインストールされていないため、これは奇妙に見えます。 (私は通知デーモンが提供されていないi3を使用しています。)これにより、他の端末エミュレータを試してみることを考えました。それで試してみましたが、urxvt
問題は消えました。私もやってみましたが、gnome-terminal
全く問題ありません! Konsoleがdbus / systemdを介してデスクトップ通知を発行しようとしていますが、libnotifyデーモンが要求に応答するようにインストールされていないため、タイムアウトが発生する可能性がありますか?それでdunst
、アップグレードする前に使用していたデーモンをインストールしましたが、予想どおりにKonsoleのオートコンプリートが遅くなりました!
したがって、オートコンプリート機能が呼び出されたときにKonsoleが何をしたいのかわかりません。デーモンをインストールした後も通知ポップアップが表示されるのを見たことはありませんが、今は問題が解決しているようです。
私はこれをKDEチームに連れて行き、彼らがどのように考えているのかを知りたいと思いました。通知デーモンをインストールしていないことが私の間違っているにもかかわらず、私が試した他の端末ではこの問題をうまく処理したためです。
とにかく、助けてくれた皆さんに感謝します!