18.04 KDE 屏幕锁定器显示本地用户的完整用户名,但不显示远程(LDAP 身份验证)用户的完整用户名

18.04 KDE 屏幕锁定器显示本地用户的完整用户名,但不显示远程(LDAP 身份验证)用户的完整用户名

我遇到了一个问题,如果用户通过 LDAP 身份验证,我的 KDE 屏幕锁定程序不会显示已登录用户(针对此会话)的完整用户名。这意味着当屏幕锁定时,您无法看到是谁锁定了它。

它显示本地创建/验证的用户的完整用户名,因此该主题至少对单个用户可用。

[编辑] 我已经确认该文件:

/usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/lockscreen/LockScreenUi.qml

是我的主题所引用的那个

getent按预期返回远程用户和组,其完整用户名字段的格式与本地用户完全相同getent,因此这不是 LDAP 访问/结果的问题。

我使用以下代码构建了一个 kde 应用本教程,并可以验证以下代码片段(来自 kscreenlocker-5.12.8,greeter/greeterapp.cpp:300)确实为 LDAP 认证用户返回了正确的全名:

        const KUser user;
        const QString fullName = user.property(KUser::FullName).toString();

[edit2] - 感谢@WinEunuuchs2Unix,我稍微接近了一点:

注销屏幕具有可运行的 fullUsername 代码。可在以下位置找到:

/usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/logout/Logout.qml

我有修补LockScreenUi.qml文件,并通过注释行验证了它的功能name: "foobar",但由于某种原因,kuser.fullname仍然没有返回任何内容。

[结束编辑]

如何让 LDAP 完整用户名在锁屏上正确显示?

感谢您的帮助 -

截图 -

本地用户(显示完整用户名)

LDAP 用户(不显示用户名)

答案1

我发现了一篇类似的帖子,其中有更多的细节可能会对你有所帮助:

有趣的是,在“注销”LDAP 时,用户名确实会显示出来,尽管它不在锁定屏幕上。您可能想在那里查看源代码更改。

另一种方法是找到 Ubuntu 中出现用户名的所有地方,并用 LDAP 用户名填充该字段。

抱歉,但这就是我能想到的全部了……

相关内容