Bug 47221 - [3.6] join lenka@
Summary: [3.6] join lenka@
Status: ASSIGNED
Alias: None
Product: Team Accounts
Classification: Development
Component: join (show other bugs)
Version: unspecified
Hardware: x86 Linux
: P5 normal
Assignee: Gleb F-Malinovskiy
QA Contact: Andrey Cherepanov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-08-13 16:30 MSK by Lenka
Modified: 2024-03-28 18:40 MSK (History)
3 users (show)

See Also:


Attachments
Ключ SSH (105 bytes, application/vnd.ms-publisher)
2023-08-13 16:30 MSK, Lenka
no flags Details
Ключ GPG (3.05 KB, text/plain)
2023-08-13 16:31 MSK, Lenka
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lenka 2023-08-13 16:30:38 MSK
Created attachment 14086 [details]
Ключ SSH

Имя пользователя: Lenka
Почта: lenadea199900@gmail.com
Ментор: Евгений Синельников
Хочу заниматься usability программ. Уже немного знакома с ADMC есть четкие представления по оптимизации формирования иконок программы.
Comment 1 Lenka 2023-08-13 16:31:11 MSK
Created attachment 14087 [details]
Ключ GPG
Comment 2 Evgeny Sinelnikov 2023-08-13 17:04:27 MSK
Мейнтернество подтверждаю.
Comment 3 Gleb F-Malinovskiy 2023-08-30 12:31:31 MSK
(In reply to Lenka from comment #1)
> Created attachment 14087 [details]
> Ключ GPG
Ok.

(In reply to Lenka from comment #0)
> Created attachment 14086 [details]
> Ключ SSH
Ok.

Ментор есть, ключи в порядке.
T/J/S -> 1.3.
Comment 4 Lenka 2023-09-28 15:50:24 MSK
Подготовила пакет с темой для ADMC:
https://github.com/LenkaDEA/admc_icons
Comment 5 Evgeny Sinelnikov 2023-10-25 17:05:37 MSK
Предлагаю двигаться дальше.

Минимальный пакет с темой иконок ожидаю я.
Comment 6 Lenka 2023-11-14 10:19:04 MSK
Актуальная версия пакета с темами:
https://github.com/LenkaDEA/admc_icons/tree/themes
Comment 7 Gleb F-Malinovskiy 2023-12-05 20:08:52 MSK
ssh ключ на gitery.alt зарегистрирован.
Адрес для пересылки создан.

T/J/S -> 2.3.
Comment 8 Evgeny Sinelnikov 2023-12-18 16:04:56 MSK
Минимально сборка пакетов освоена, ждем исправления в .gear/rules упаковки исходников по тегу и формирование патча. После этого можно переходить к следующему этапу.
Comment 9 Evgeny Sinelnikov 2023-12-22 19:31:10 MSK
Поскольку пакет был переделан, предлагаю обновить photoflare для следующего шага:
https://repology.org/project/photoflare/versions
Comment 10 Lenka 2024-01-16 13:34:46 MSK
Обновила пакет до последней версии 1.6.13-alt1: http://git.altlinux.org/people/lenka/packages/photoflare.git
Есть ли замечания?

Нет доступа к сборочнице, поэтому не могу создать таску.
Comment 11 Evgeny Sinelnikov 2024-01-23 20:58:26 MSK
Пакеты собираются, давайте переходить к освоению сборочницы и тестированию пакетов из тестовых сборочных задач.
Comment 12 Gleb F-Malinovskiy 2024-01-29 14:20:05 MSK
ssh ключ на gyle.alt зарегистрирован.
Пакет alt-gpgkeys обновлён.
Адрес подписан на devel@.

T/J/S -> 3.6.
Comment 13 Lenka 2024-01-31 11:31:14 MSK
Создала задание на сборочнице для пакета photoflare: https://packages.altlinux.org/ru/tasks/339458/
Сейчас в состоянии EPERM.
Comment 14 Lenka 2024-02-09 14:05:19 MSK
Опакетила новую программу: https://packages.altlinux.org/ru/tasks/340169/
Comment 15 Evgeny Sinelnikov 2024-02-11 18:49:19 MSK
(Ответ для Lenka на комментарий #13)
> Создала задание на сборочнице для пакета photoflare:
> https://packages.altlinux.org/ru/tasks/339458/
> Сейчас в состоянии EPERM.

Предлагаю для общего развития добавить в сборку следующие исправления:

1) отдельным коммитом апстримный источник для упрощения сопровождения:
https://www.altlinux.org/Gear/remotes

Пример:

$ gear-remotes-set-from-url https://github.com/PhotoFlare/photoflare
now run gear-remotes-restore

$ git status 
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   .gear/upstream/remotes


$ gear-remotes-restore
$ git remote -v
origin  git://git.altlinux.org/tasks/339458/gears/100/git (fetch)
origin  git://git.altlinux.org/tasks/339458/gears/100/git (push)
upstream        https://github.com/PhotoFlare/photoflare (fetch)
upstream        https://github.com/PhotoFlare/photoflare (push)


2) добавить в .gear/rules exclude для каталога .gear при автоматической генерации патча к апстримным исходникам:
https://bugzilla.altlinux.org/39804

Думаю, что такого варианта будет достаточно:

[sin@base .gear]$ git diff . | cat
diff --git a/.gear/rules b/.gear/rules
index 55f0585..c9b435f 100644
--- a/.gear/rules
+++ b/.gear/rules
@@ -1,3 +1,3 @@
 spec: .gear/photoflare.spec
 tar: v@version@:.
-diff: v@version@:. . name=@name@-@version@-alt.patch
+diff: v@version@:. . name=@name@-@version@-alt.patch exclude=.gear/**

3) почистить код в соответствии с логикой сопровождения.

- После объединения с апстримными исходниками остались куски от предыдущих коммитов, которые я вносил для исправления работы:

$ git diff v1.6.13 -- src/ | cat
diff --git a/src/widgets/PaintWidget.cpp b/src/widgets/PaintWidget.cpp
index 198ed7b..7f6860a 100644
--- a/src/widgets/PaintWidget.cpp
+++ b/src/widgets/PaintWidget.cpp
@@ -25,7 +25,6 @@
 #include <QGraphicsScene>
 #include <QGraphicsSceneMouseEvent>
 #include <QGraphicsProxyWidget>
-#include <QGraphicsEffect>
 #include <QImageReader>
 
 #include "../Settings.h"

- в оригинальном виде исправление состояло в том, что я откатил один из апстримных коммитов:

commit a3ac8be2857d96aed6d4d00e949ab37f2fec01d2
Author: Evgeny Sinelnikov <sin@altlinux.org>
Date:   Mon Feb 14 05:07:05 2022 +0400

    Revert "Fixes #269 - Canvas shadow to separate from mdiarea bg"
    
    This reverts commit e664f48d616fa37ad4fab3c453aa958bee277c28.

diff --git a/src/widgets/PaintWidget.cpp b/src/widgets/PaintWidget.cpp
index 90e3ade..8b0236f 100644
--- a/src/widgets/PaintWidget.cpp
+++ b/src/widgets/PaintWidget.cpp
@@ -25,7 +25,6 @@
 #include <QGraphicsScene>
 #include <QGraphicsSceneMouseEvent>
 #include <QGraphicsProxyWidget>
-#include <QGraphicsEffect>
 #include <QImageReader>
 
 #include "../Settings.h"
@@ -57,12 +56,7 @@ public:
         this->image = image;
         q->setSceneRect(image.rect());
         canvas = addPixmap(QPixmap::fromImage(image));
-        q->setStyleSheet("background-color: rgb(160, 160, 160);");
-
-        // Canvas drop shadow to separate from MdiArea colour
-        QGraphicsDropShadowEffect* effect = new QGraphicsDropShadowEffect();
-        effect->setBlurRadius(15);
-        canvas->setGraphicsEffect(effect);
+        q->setStyleSheet("background-color: rgb(128, 128, 128);");
     }
 
     void updateImageCanvas()

- Насколько я понимаю, при обновлении до последней версии 1.6.13, откаченный коммит был почти восстановлен. "Почти", потому что удаление строки #include <QGraphicsEffect> не восстановили.

- соответственно, нужно решить. Возвращаем этот коммит или нет?

Зачем я его откатывал нужно ещё вспомнить.

4) уточнить статус работоспособности этого пакета в Сизифе и бранчах. Это чудное приложение в нашей сборке ведёт себя нестабильно - склонно падать при использовании инструментов - Яркость, Насыщенность, Гамма (и это только то, что я с ходу обнаружил):

Как в текущей версии 1.6.9:

[sin@base photflare]$ photoflare 
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
kf.windowsystem: Loaded plugin "/usr/lib64/qt5/plugins/kf5/kwindowsystem/KF5WindowSystemX11Plugin.so" for platform "xcb"
QMetaObject::connectSlotsByName: Connecting slot on_comboBoxLanguage_currentIndexChanged() with the first of the following compatible signals: ("currentIndexChanged(int)", "currentIndexChanged(QString)")
[sin@base photflare]$ QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
kf.windowsystem: Loaded plugin "/usr/lib64/qt5/plugins/kf5/kwindowsystem/KF5WindowSystemX11Plugin.so" for platform "xcb"
Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...

[sin@base photflare]$ photoflare 
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
kf.windowsystem: Loaded plugin "/usr/lib64/qt5/plugins/kf5/kwindowsystem/KF5WindowSystemX11Plugin.so" for platform "xcb"
Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...
Аварийный останов
[sin@base photflare]$ photoflare 
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
kf.windowsystem: Loaded plugin "/usr/lib64/qt5/plugins/kf5/kwindowsystem/KF5WindowSystemX11Plugin.so" for platform "xcb"
kf.imageformats.plugins.xcf: XCF: read called on non-XCF file
kf.imageformats.plugins.xcf: XCF: read called on non-XCF file
kf.imageformats.plugins.xcf: XCF: read called on non-XCF file
Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...
Аварийный останов


так и для новой 1.6.13:

[sin@base photflare]$ photoflare 
QMetaObject::connectSlotsByName: No matching signal for on_actionStroke_Rect_triggered()
QObject::connect: No such signal QSpinBox::changed()
QObject::connect:  (sender name:   'strokeWidth')
QObject::connect:  (receiver name: 'PointerSettingsWidget')
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
kf.windowsystem: Loaded plugin "/usr/lib64/qt5/plugins/kf5/kwindowsystem/KF5WindowSystemX11Plugin.so" for platform "xcb"
Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...
Аварийный останов
[sin@base photflare]$ photoflare 
QMetaObject::connectSlotsByName: No matching signal for on_actionStroke_Rect_triggered()
QObject::connect: No such signal QSpinBox::changed()
QObject::connect:  (sender name:   'strokeWidth')
QObject::connect:  (receiver name: 'PointerSettingsWidget')
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
kf.windowsystem: Loaded plugin "/usr/lib64/qt5/plugins/kf5/kwindowsystem/KF5WindowSystemX11Plugin.so" for platform "xcb"
Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...
Аварийный останов
[sin@base photflare]$ photoflare 
QMetaObject::connectSlotsByName: No matching signal for on_actionStroke_Rect_triggered()
QObject::connect: No such signal QSpinBox::changed()
QObject::connect:  (sender name:   'strokeWidth')
QObject::connect:  (receiver name: 'PointerSettingsWidget')
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...
Аварийный останов

Таким образом это "отличное" приложение с достаточно отзывчивым апстримом, у которого множество недоработок. То ли связанных с наших окружением, то ли с тем, как это приложение написано вообще. К его доработке можно привлекать начинающих разработчиков для повышения квалификации.

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

____________________

Итого, обновление данного пакета, безусловно, имеет смысл и будет полезно. Но завершенность работы над пакетом, наверное, заключается в том, чтобы принять участие в его доработке. Или, по крайней мере, об этом стоит где-то сообщить.

Например в devel-newbies@, примерно в такой форме:
- я обновила такой-то пакет - ссылка;
- при обновлении обнаружены такие-то проблемы - перечисление (возможно, в виде ссылок на нашу багзиллу, а лучше на трекер апстрима);
- предлагаю заинтересованным поучаствовать в их исправлении.

Ну, это если пакет, действительно вам интересен.

____________________


5) Ещё один момент, который я пытался решить и вижу, что решение не работает - это выбор русского языка по умочанию, в зависимости от текущей локали. Сейчас, при запуске приложения, русский язык не выбран. Но его можно задать в настройках явно.

Одна из проблем, которая была однаружена состоит в том, что в приложении достаточно странно релизована логика поиска файлов локализации (довольно некорретно, по отношению к стандартному расположению в дистрибутивах GNU/Linux). Предположу, что эти особенности связаны с поддержкой portable-сборок, а также поддержку windows в целом, где все файлы программы вываливаются в каталог приложения в Program Files.

Возможно, я на завершил данную задачу, а только подготовил некоторые исправления в домашнем кругу, надеясь что вернусь к этому потом. В результате один патч у нас был принят, но проблему полностью он не решает:

commit 33deae5c825c108137f8472d6462e8828651d931
Author: Helen Sinelnikova <helen@darkmastersin.net>
Date:   Sun Oct 4 23:39:38 2020 +0400

    Fix check of translation file

diff --git a/src/main.cpp b/src/main.cpp
index d5bf7de..0f56727 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -114,14 +114,14 @@ int main(int argc, char *argv[])
         app.installTranslator(&translator);
 
         QStringList paths = QStandardPaths::standardLocations(QStandardPaths::DataLocation);
+        paths.prepend("."); //for local builds testing
         for(int i = 0;i < paths.length(); i++)
         {
-            //QFileInfo check_file(paths[i]+"/languages/"+SETTINGS->getUserLanguage()+".qm");  //for installers
-            QFileInfo check_file("languages/"+SETTINGS->getUserLanguage()+".qm");  //local builds
+            QFileInfo check_file(paths[i]+"/languages/"+SETTINGS->getUserLanguage()+".qm");
             if(check_file.exists() && check_file.isFile())
             {
-                //translator.load(SETTINGS->getUserLanguage()+".qm", paths[i]+"/languages/");  //for installers
-                translator.load(SETTINGS->getUserLanguage()+".qm", "languages/"); //local builds
+                translator.load(SETTINGS->getUserLanguage()+".qm", paths[i]+"/languages/");
+                break;
             }
         }
         MainWindow w;


____________________

Предлагаю закрыть, для начала, из перечисленных выше пунктов 1, 2 и 3. По поводу пунктов 4 и 5 предлагаю сравнить текущую и новую сборки на p10 и на сизифе на предмет наличия регрессий. Далее собрать обновление до 1.6.13 и, в зависимости от анализа регрессий и обнаруженных ошибок, "развесить" сообщения об этих ошибках "и" (как минимум, "или") призвать заинтересованных заняться этими задачами в учебном формате в рассылке devel-newbies@.
Comment 16 Evgeny Sinelnikov 2024-02-11 19:00:01 MSK
(Ответ для Lenka на комментарий #14)
> Опакетила новую программу: https://packages.altlinux.org/ru/tasks/340169/

В этой сборке сделаны "лишние", взаимоисключающие шаги:

Вот так выглядят правила gear:

tar: @version@:.
spec: .gear/clipboard.spec
diff: @version@:. .  exclude=.gear/**
copy?:.gear/*.patch

Возникает вопрос. А зачем было добавлено правило diff, если патч в итоге кладётся файлом? Зачем генерировать патч, если он далее нигде не используется? Наверное, он тогда просто не нужен?

И наоборот, если патч генерируется, зачем тогда его хранить файлом и прикладывать отдельно, когда можно приложить прямо в исходники?

У обоих вариантов сопровождения есть свои плюсы и минусы. Но стоит определиться - какой схемы сборки придерживаться в данном случае.
Comment 17 Lenka 2024-02-13 17:47:26 MSK
(Ответ для Evgeny Sinelnikov на комментарий #15)
> Предлагаю закрыть, для начала, из перечисленных выше пунктов 1, 2 и 3.

Спасибо за развернутый ответ, замечания и рекомендации по сборке. 
Обновила пакет согласно Вашим рекомендациям:
https://packages.altlinux.org/ru/tasks/339458/

Насчет третьего пункта "почистить код в соответствии с логикой сопровождения":
Проверив багу, убедилась, что она также присутствует. Поэтому приняла решение оставить наш комит: https://git.altlinux.org/gears/p/photoflare.git?p=photoflare.git;a=commit;h=a3ac8be2857d96aed6d4d00e949ab37f2fec01d2
Comment 18 Lenka 2024-02-14 18:58:56 MSK
(Ответ для Evgeny Sinelnikov на комментарий #16)
> (Ответ для Lenka на комментарий #14)
> > Опакетила новую программу: https://packages.altlinux.org/ru/tasks/340169/
> 
> В этой сборке сделаны "лишние", взаимоисключающие шаги
Определилась со схемой сборки и убрала взаимоисключающие шаги.

Теперь gear/rules выглядит следующим образом:
$ cat .gear/rules 
tar: @version@:.
spec: .gear/clipboard.spec
copy?:.gear/*.patch

Таска: https://packages.altlinux.org/ru/tasks/340169/
Comment 19 Lenka 2024-03-18 12:03:09 MSK
В ходе обсуждения получила ряд замечаний/рекомендаций касательно пакета clipboard

Результатом было исправление следующих вещей в spec-файле:
1. Группа была изменена на более подходящую.
2. Убраны Provides.
3. Изменены названия подпакетов.

Таска: https://packages.altlinux.org/en/tasks/340169/
Comment 20 Evgeny Sinelnikov 2024-03-28 18:28:08 MSK
Посмотрел, собрал, установил, одобрил для отправки в сизиф.

Нужно перезапустить сборочную задачу с --commit.

Следующим шагом предлагаю погрузиться в проблему с accountsservice. Это очень важный для нас технологический стек далее связанный с возможностями развития продуктов.

Текущая проблема:
https://bugzilla.altlinux.org/47499

По сути, я вижу две задачи:
- починить проблему автологина для локальных пользователей;
- разобраться с архитектурной связкой accountsservice/lightdm/gdm с целью решения проблемы - что нам требуется для обеспечения кеширования доменных пользователей при логине?

Сейчас приходится вот так
Comment 21 Evgeny Sinelnikov 2024-03-28 18:40:54 MSK
(Ответ для Evgeny Sinelnikov на комментарий #20)
...
> Сейчас приходится вот так вручную решать проблему отсутствия кеширования доменных пользователей:

$ busctl call org.freedesktop.Accounts /org/freedesktop/Accounts org.freedesktop.Accounts CacheUser "s" "sin"
o "/org/freedesktop/Accounts/User758801104"

Ещё одна примыкающая задача - задание пароля для пользователей. Для доменных пользователей она и не может работать, там и проверка на "локальность" не выполняется:

$ busctl call org.freedesktop.Accounts /org/freedesktop/Accounts/User758801104 org.freedesktop.Accounts.User SetPassword "ss" "Qw12345678" "Qw"
Call failed: running '/usr/sbin/chpasswd' failed: Дочерний процесс завершился с кодом 1