我遇到了一个问题,如果用户通过 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 完整用户名在锁屏上正确显示?
感谢您的帮助 -
截图 -
答案1
我发现了一篇类似的帖子,其中有更多的细节可能会对你有所帮助:
有趣的是,在“注销”LDAP 时,用户名确实会显示出来,尽管它不在锁定屏幕上。您可能想在那里查看源代码更改。
另一种方法是找到 Ubuntu 中出现用户名的所有地方,并用 LDAP 用户名填充该字段。
抱歉,但这就是我能想到的全部了……