| Summary: | Не отображаются сервисы, для которых можно добавить учетные записи | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Olga <urozhaevaoo> |
| Component: | kaccounts-providers | Assignee: | Sergey V Turchin <zerg> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | amakeenk, catsemaofficial, katze_942, kunitskijds, zerg |
| Version: | unstable | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
|
Description
Olga
2025-02-20 19:12:51 MSK
Попробуйте пакет kaccounts-providers . Ошибка воспроизводится в версии пакета kaccounts-providers-24.12.3-alt1 @ Воспроизвёл проблему на kaccounts-providers-25.08.3-alt1.
Провёл детальную диагностику и нашёл точную причину.
КОРНЕВАЯ ПРИЧИНА
================
Пакет kaccounts-providers устанавливает файлы провайдеров в:
/usr/share/accounts/providers/kde/
/usr/share/accounts/services/kde/
Но libaccounts-qt6 (зависимость kaccounts-integration) ищет их в:
/usr/share/accounts/providers/
/usr/share/accounts/services/
Доказательство (strace):
$ strace -e openat systemsettings kcm_kaccounts 2>&1 | grep "accounts/providers"
openat("/usr/share/accounts/providers/kde:kde-wayland") = -1 ENOENT
openat("/usr/share/accounts/providers") = 61 # открыт, но пуст
ВРЕМЕННОЕ РЕШЕНИЕ
=================
Создать симлинки:
# ln -sf /usr/share/accounts/providers/kde/*.provider /usr/share/accounts/providers/
# ln -sf /usr/share/accounts/services/kde/*.service /usr/share/accounts/services/
После этого провайдеры отображаются корректно.
ИСПРАВЛЕНИЕ В SPEC-ФАЙЛЕ
========================
В kaccounts-providers.spec строки 66-67:
Было:
%_datadir/accounts/providers/kde/
%_datadir/accounts/services/kde/
Должно быть:
%_datadir/accounts/providers/
%_datadir/accounts/services/
СИСТЕМНАЯ ИНФОРМАЦИЯ
=====================
Операционная система: ALT Linux 20250612
Версия KDE Plasma: 6.5.3
Версия KDE Frameworks: 6.20.0
Версия Qt: 6.9.3
Затронутые пакеты:
- kaccounts-providers-25.08.3-alt1
- kaccounts-integration-common-25.08.3-alt1
- libaccounts-qt6_1-1.17-alt1
- signon-8.61-alt1
Все зависимости установлены корректно, signond работает.
СРАВНЕНИЕ С ДРУГИМИ ДИСТРИБУТИВАМИ
===================================
На Manjaro Linux файлы установлены правильно:
/usr/share/accounts/providers/ (без подкаталога kde/)
ЖУРНАЛЫ
=======
Могу приложить полный лог systemsettings с QT_LOGGING_RULES="*=true"
и strace, если необходимо.
(Ответ для CatSema на комментарий #3) > openat("/usr/share/accounts/providers/kde:kde-wayland") = -1 ENOENT Кривая обработка $XDG_CURRENT_DESKTOP . Спасибо! (Ответ для Sergey V Turchin на комментарий #4) > > openat("/usr/share/accounts/providers/kde:kde-wayland") = -1 ENOENT > Кривая обработка $XDG_CURRENT_DESKTOP . Только, надо ещё найти, кто где её читает. Сходу не вышло. (Ответ для Sergey V Turchin на комментарий #5) > надо ещё найти, кто где её читает. Сходу не вышло. Пока нашёл кучу других мест с этим косяком. :-) (Ответ для Sergey V Turchin на комментарий #5) > (Ответ для Sergey V Turchin на комментарий #4) > > > openat("/usr/share/accounts/providers/kde:kde-wayland") = -1 ENOENT > > Кривая обработка $XDG_CURRENT_DESKTOP . > Только, надо ещё найти, кто где её читает. Сходу не вышло. Насколько понимаю (это лишь предположения), в данном случае виновник: libaccounts-glib-1.27-alt1 Проблемные файлы: - libaccounts-glib/ag-manager.c:399-401 - libaccounts-glib/ag-util.c:602-604 КОД С ОБРАБОТКОЙ: ============== env_dirname = g_getenv("XDG_CURRENT_DESKTOP"); // "KDE:KDE-Wayland" if (env_dirname) desktop_override = g_ascii_strdown(env_dirname, -1); // "kde:kde-wayland" Результат: путь формируется как: /usr/share/accounts/providers/kde:kde-wayland/ (Ответ для Sergey V Turchin на комментарий #6) > (Ответ для Sergey V Turchin на комментарий #5) > > надо ещё найти, кто где её читает. Сходу не вышло. > Пока нашёл кучу других мест с этим косяком. :-) Нас жду масштабные фиксы? :D (Ответ для Artem Baleevskih на комментарий #8) > Нас жду масштабные фиксы? :D Да. 2-й день патчу всё подряд. (Ответ для Artem Baleevskih на комментарий #7) > Насколько понимаю (это лишь предположения), в данном случае виновник: > libaccounts-glib-1.27-alt1 > > Проблемные файлы: > - libaccounts-glib/ag-manager.c:399-401 > - libaccounts-glib/ag-util.c:602-604 > > КОД С ОБРАБОТКОЙ: > ============== > env_dirname = g_getenv("XDG_CURRENT_DESKTOP"); // "KDE:KDE-Wayland" По любому он, т.к. свои пакеты уже почти все прошерстил. libaccounts-glib-1.27-alt2 -> sisyphus: Tue Dec 02 2025 Sergey V Turchin <zerg@altlinux> 1.27-alt2 - fix parse $XDG_CURRENT_DESKTOP (closes: 53179) - clean build requires |