28 марта 2010 г.

Глюки KDE и решения (бэкап настроек KDE)

Хочу поделиться решением пары проблем, возникших в рабочей среде KDE. Правда, решения типа "вернуть как было и больше так не делать", нежели "заставить всё работать без траблов", но зато в ходе изысканий приобрела новые навыки, к тому же решения довольно универсальны.

Кеды, вообще славятся глючностью (хотя, судя по отзывам, мне как раз везло, но, например, вылеты приборной доски plasma - явление и для меня не новое, причём я ухитрялась уронить плазму ещё до обновления кед, то есть на версии 4.4.0), а уж если много экспериментировать, то сломать можно что угодно.

Для начала опишу проблемы:
1. При входе в систему с огромной скоростью запускается множество копий одного окна (какого окна - рассмотреть не успеваю), в результате система почти мгновенно виснет и единственное, что получается сделать - ляпнуть по Ctrl+Alt+Backspace (что возвращает нас в экран входа в систему)
2. При входе в систему намертво падает плазма и не восстанавливается (как вообще-то она обычно делает после падений), причём ни автоматически, ни с помощью команд запуска.

Причины соответственно:
1. Подобное предположительно вызвано конфликтом с Compiz. По крайней мере появляться глюк стал после того, как я использовала компиз в кде, а потом вернулась к родному KWin. Если успеть до зависания заменить компиз на квин (через Compiz Fusion Icon я это иногда успеваю, как сделать быстрее просто не представляю себе) либо сделать это загрузившись предварительно в гном, то глюк исчезает (что и является самым простым решением, но это я обнаружила уже позже).
2. Падение плазмы чаще всего происходит от глючных виджетов. Только обычно плазма самовосстанавливается, а вот когда я попробовала использовать Fancy Panel (правый щелчок по рабочему столу -> Добавить панель), плазма упала намертво, а панель обычным способом не убирается. Думаю, что подобная проблема может возникнуть и от добавления других виджетов.

Решения:
1. Универсальное при любых проблемах именно в кде - бэкап настроек. Все настройки KDE хранятся в папке ~/.kde (то есть это скрытая папка .kde в домашней директории юзера). Соответственно, если всё настроено как надо и всё работает, можно эту папку скопировать куда-нибудь себе в закрома и хранить пока не возникнет трабла, полностью перекрывающая возможность работать в графическом режиме. Дальше уже несложно удалить текущую папку и заменить её сохранённой с рабочими настройками даже не в графическом режиме (правда, я делала проще, поскольку кроме кед у меня есть и гном и много чего ещё, я папку меняла всё равно в графическом режиме, только в другом).
Если бэкапа папки настроек не создано (как было у меня в первый раз), то помогает просто удаление папки ~/.kde. Правда, тогда все настройки будут сброшены на дефолтные (настройки не пользовательских приложений, замечу, а именно рабочей среды, так что теряется не много на самом деле).
2. Решение проблемы вызванной конфликтом с Compiz очевидно отключить компиз (что уже написала выше). Для кед родной оконный менеджер KWin, вот на него и следует переключиться (загрузившись сначала в гном, успев переключить через fusion icon, либо предположу что команда replace --kwin тоже должна сработать.
3. Решение проблемы безвозвратного падения плазмы - модификация самого первого, универсального способа. Вместо того, чтобы тупо заменить текущую папку бэкапом, я решила их сравнить (скорее из любопытства, чем из соображений простоты). Собственно команда для сравнения файлов - diff. Пара опций перед именами папок: -r (рекурсивно - то есть сравнивает все файлы во всех подкаталогах, часто используется вообще при работе с директориями), -q (чтобы выводилось только сообщение, что какие-то файлы различны без подробностей - их всё равно удобнее будет посмотреть уже самостоятельно). Использование:

diff -qr dir1 dir2

Ну например: diff -qr .kde backups/.kde при нахождении в домашней директории и при нахождении бэкапа настроек в поддиректории backups. В результате получим список различий, в котором, скорее всего будет много лишнего и придётся догадываться, что именно нам нужно. Но в моём случае было несложно.
Очевидно было, что критичны файлы:
.kde/share/config/plasma-desktop-appletsrc
.kde/share/config/plasma-desktoprc
Имея файлы "безглючной" конфигурации сравнила их с "глючной" (в текстовом редакторе вручную, хотя можно и через команду) и убрала лишнее (как ожидалось, несколько строк в конце файлов). Теоретически, можно убрать подозрительные строки (или просто последние, если предполагается, что глюк вызван последним изменнеием) и без сравнения с эталоном, но тут можно и напортачить, так как там не особо понятно, где чьи настройки.

В общем, главной штукой тут является всё таки использование бэкапа папки настроек KDE. Так что недурно его периодически делать, а если его нет, всегда помнить, что практически любой глюк при невозможности справиться с ним иным способом можно убрать, просто потерев эту папку и тем самым сбросив настройки на дефолт. У Gnome настройки среды хранятся точно так же только в своей папке (сейчас это ~/.gnome2).

Комментариев нет:

Отправить комментарий