Bug 40717 - скайп не автологиниться с kwallet
Summary: скайп не автологиниться с kwallet
Status: CLOSED DUPLICATE of bug 40714
Alias: None
Product: Sisyphus
Classification: Development
Component: kf5-kwallet (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Slava Aseev
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on: 40714
Blocks:
  Show dependency tree
 
Reported: 2021-08-12 12:46 MSK by saber716rus
Modified: 2021-08-20 17:36 MSK (History)
4 users (show)

See Also:


Attachments
скриншот настройки (100.25 KB, image/jpeg)
2021-08-16 17:43 MSK, saber716rus
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description saber716rus 2021-08-12 12:46:34 MSK
Патч на kwallet сделали, скайп теперь может сохранять в кедовский бумажник, но без seahorse он не может.
Исправьте данную проблему, ведь он не нужен, если есть уже бумажник.
Comment 1 Sergey V Turchin 2021-08-16 14:47:26 MSK
> но без seahorse он не может
Чего именно?
Comment 2 saber716rus 2021-08-16 14:52:25 MSK
(Ответ для Sergey V Turchin на комментарий #1)
> > но без seahorse он не может
> Чего именно?

Если установлен seahorse, то скайп автологинтся при входе скайпа, так, как kwallet выбран по умолчанию, как кошелёк, но стоит удалить seahorse и всё, автологин при входе в программу ломается.
Comment 3 Sergey V Turchin 2021-08-16 15:04:19 MSK
> но стоит удалить seahorse и всё, автологин при входе в программу ломается.
Это как-то странно.
Comment 4 Slava Aseev 2021-08-16 17:08:42 MSK
Про seahorse немного непонятно. Его поведение не должно быть связано со Skype.
seahorse работает как фронт/клиент для Secret Service API (далее SS API). Грубо говоря, это просто такой UI, который общается по DBus с SS API бэкендом (если не считать дополнительного функционала). Сами секреты хранит gnome-keyring (который является SS API бэкендом для seahorse, evolution, skype и вообще любых штук, которые для хранения паролей используют SS API)
Патч на kwallet (а точнее на kwallet daemon) позволяет клиентам общаться с kwalletd через SS API (не только через стандартное KWallet-API).
Соответственно, kwalletd5 может заменять gnome-keyring в качестве SS API бэкенда (и наоборот).

Насколько я понял, есть 2 причины, по которым автологин может не работать. 

Первая - это отсутствие коллекции/кошелька по-умолчанию (вопреки всем ожиданиям, созданием кошелька по-умолчанию в SS API занимается сам клиент, однако делает он это только если получит определенную DBus-ошибку от бэкенда).
Проблема эта существует ввиду архитектурных ограничений QtDBus (который используется в kwallet). Она не решается в коде kwallet, и в случае Skype есть шанс, что проблема так и не будет устранена.
В случае libsecret, например, проблема устраняется путем патча на сам libsecret (libsecret это такая библиотека-обертка для SS API, используется большинством приложений, которым нужно SS API). В случае Skype приложить патч на Skype я не могу, поэтому придется крутиться.
Эту проблему можно решить вручную. Нужно создать кошелек и назначить его кошельком по-умолчанию.
Лучше всего это сделать в seahorse, но можно и в kwalletmanager (только в этом случае после задания кошелька по-умолчанию потребуется перезапустить kwalletd5).
В seahorse последовательность действий примерно такая: кликаем по значку "+" -> Password keyring, вводим название/пароль для кошелька. Затем созданный кошелек появится в списке "Пароли", кликаем ПКМ по нему -> "Установить по умолчанию".
Пока что вот так. Исправление уже на подходе, если проблем не будет, то все будет работать из коробки, как и должно.

Вторая причина - это какие-то странные глюки самого Skype. Я пробовал логиниться и с включенным gnome-keyring, и с kwalletd, и в обоих случаях иногда возникает какой-то странный баг, из-за которого skype даже не делает попыток разблокировать коллекцию при запуске (запросить ввод пароля для кошелька).
Обычно такое проходит, если ввести логин пароль заново и просто перезапустить Skype. Я пытался найти хоть какие-то закономерности, но пока безуспешно.
Comment 5 saber716rus 2021-08-16 17:37:47 MSK
(Ответ для Slava Aseev на комментарий #4)
> Про seahorse немного непонятно. Его поведение не должно быть связано со
> Skype.
> seahorse работает как фронт/клиент для Secret Service API (далее SS API).
> Грубо говоря, это просто такой UI, который общается по DBus с SS API
> бэкендом (если не считать дополнительного функционала). Сами секреты хранит
> gnome-keyring (который является SS API бэкендом для seahorse, evolution,
> skype и вообще любых штук, которые для хранения паролей используют SS API)
> Патч на kwallet (а точнее на kwallet daemon) позволяет клиентам общаться с
> kwalletd через SS API (не только через стандартное KWallet-API).
> Соответственно, kwalletd5 может заменять gnome-keyring в качестве SS API
> бэкенда (и наоборот).
> 
> Насколько я понял, есть 2 причины, по которым автологин может не работать. 
> 
> Первая - это отсутствие коллекции/кошелька по-умолчанию (вопреки всем
> ожиданиям, созданием кошелька по-умолчанию в SS API занимается сам клиент,
> однако делает он это только если получит определенную DBus-ошибку от
> бэкенда).
> Проблема эта существует ввиду архитектурных ограничений QtDBus (который
> используется в kwallet). Она не решается в коде kwallet, и в случае Skype
> есть шанс, что проблема так и не будет устранена.
> В случае libsecret, например, проблема устраняется путем патча на сам
> libsecret (libsecret это такая библиотека-обертка для SS API, используется
> большинством приложений, которым нужно SS API). В случае Skype приложить
> патч на Skype я не могу, поэтому придется крутиться.
> Эту проблему можно решить вручную. Нужно создать кошелек и назначить его
> кошельком по-умолчанию.
> Лучше всего это сделать в seahorse, но можно и в kwalletmanager (только в
> этом случае после задания кошелька по-умолчанию потребуется перезапустить
> kwalletd5).
> В seahorse последовательность действий примерно такая: кликаем по значку "+"
> -> Password keyring, вводим название/пароль для кошелька. Затем созданный
> кошелек появится в списке "Пароли", кликаем ПКМ по нему -> "Установить по
> умолчанию".
> Пока что вот так. Исправление уже на подходе, если проблем не будет, то все
> будет работать из коробки, как и должно.
> 
> Вторая причина - это какие-то странные глюки самого Skype. Я пробовал
> логиниться и с включенным gnome-keyring, и с kwalletd, и в обоих случаях
> иногда возникает какой-то странный баг, из-за которого skype даже не делает
> попыток разблокировать коллекцию при запуске (запросить ввод пароля для
> кошелька).
> Обычно такое проходит, если ввести логин пароль заново и просто
> перезапустить Skype. Я пытался найти хоть какие-то закономерности, но пока
> безуспешно.

Интересно получается, добавил альтернативный бумажник, скайповкий пароль подхватился и автологин скайпа заработал. Возможно, нужно связаться с майками и допилить скайп под данный патч, видимо не совсем адекватно реагирует, если не gnome-keyring с ним взаимодействует.
Comment 6 saber716rus 2021-08-16 17:43:22 MSK
Created attachment 9593 [details]
скриншот настройки
Comment 7 saber716rus 2021-08-20 17:36:36 MSK
Пофиксено в другой баге, эту я отмечаю дублем.

*** This bug has been marked as a duplicate of bug 40714 ***