MyTetra Share
Делитесь знаниями!
Исправление ошибки в KDE/LXDE если долго открывается файловый диалог
Время создания: 05.09.2023 11:14
Автор: Xintrea
Текстовые метки: linux, debian, kde, lxde, qt, qt5, ошибка, баг, файл, диалог, открыть, сохранить, save as, open, долго, медленно, открывается, окно
Раздел: Компьютер - Linux - Оконные менеджеры DE и X-сервер X11 в Linux
Запись: xintrea/mytetra_syncro/master/base/169390167518qjq7o2ug/text.html на raw.github.com

В Debian Linux 11 Stable и Ubuntu версий 19-20 имеется плавающий баг. Баг заключается в том, что открытие файлового диалога на сохранение или открытие файла происходит крайне медленно, несколько десятков секунд, а в особо запущенных случаях - минуты. При этом на 100% загружается одно ядро, вентилятор начинает бешенно крутиться и охлаждать процессор. В некоторых инсталляциях этот баг есть, в некоторых - нет, и, по всей видимости, его появление зависит от инсталляции какого-то пакета.


Явно видно, что баг проявляется в стандартном окне файлового диалога, созданного через библиотеку Qt. Поиск решения чтобы избавиться от этого бага был труден и тернист, в официальных багтрекерах готового решения найти не удалось.


В любом случае, дело оказалось в файле ~/.config/QtProject.conf, с которым некорректно работает какой-то компонент Qt. Возможно, возникают какие-то проблемы с обработкой UTF-8 строк. В общем, при каких-то условиях запись shortcuts в этом файле начинает содержать все большую и большую строку, состоящую из кодов символов 0xC2 0x83 0xC3 0x82. В момент решения проблемы, строка имела размер примерно 125Мб.



shortcuts=file:///home/user/Desktop, file:///home/user/\xc3\x83\xc2\x83\xc3\x82

\xc2\x83\xc3\x83\xc2\x82\xc3\x82\xc2\x83\xc3\x83\xc2\x83\xc3\x82\xc2\x82

\xc3\x83\xc2\x82\xc3\x82\xc2\x83\xc3\x83\xc2\x83\xc3\x82\xc2\x83\xc3\x83

\xc2\x82\xc3\x82\xc2\x82\xc3\x83\xc2\x83\xc3\x82\xc2\x82\xc3\x83\xc2\x82

\xc3\x82\xc2\x83\xc3\x83\xc2\x83\xc3\x82\xc2\x83\xc3\x83\xc2\x82\xc3\x82

...



Возможно, в каких-то обновлениях Debian Linux эта проблема генерации гигантской строки была решена, а файл ~/.config/QtProject.conf остался и не дает нормально работать файловому диалогу.



Решение: просто удалить пользовательский файл ~/.config/QtProject.conf. Да, при этом исчезнут наработанные шорткаты для часто используемых директорий, но что от них толку, если с ними файловый диалог не может нормально работать? Так что самое простое - удалить данный файл, и диалоги сохранения/ открытия файлов начинают работать мгновенно.



Ох, и долго мне не давал по-человечески работать в Linux этот баг. Хорошо, что после года мучений мне наконец посчастливилось от него избавиться, поняв в каком-то виде причину его появления. Решение я нашел вот в этом обсуждении: https://bbs.archlinux.org/viewtopic.php?pid=2055916#p2055916. Словосочетание "move away" переводится как "удалить". Не сразу понятно что это, ведь обычно ожидаешь слов "delete" или "remove", а тут вона как литературно завернули.


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования