对于那些不知道的人来说,greeter 基本上是登录屏幕。特别是 Lightdm,它有几个版本:
我需要知道如何获取当前使用的欢迎程序版本。脚本解决方案是最受欢迎的(最好是 python、shell 脚本、perl),但也对 C 代码开放。理想情况下,解决方案将像这样工作:
$ ./get_greeter
kylin-greeter
Run Code Online (Sandbox Code Playgroud)
pgrep -f lightdm | xargs -L 1 ps -o args --no-header -p还是 pgrep -f kylin | xargs -L 1 ps -o args --no-header -p任何回报,它指向/usr/sbin/kylin-greeter lsof -p <LIGHTDM_PID>也没有提供任何见解 -/usr/sbin/kylin-greeter在列表中没有。/etc/lightdm/lightdm.conf是一种潜在的但不是理想的解决方案,因为某些 Ubuntu 版本(例如 Kylin)不会在该文件中明确说明欢迎会话。我更喜欢更可靠的东西。gsettings也没有提供确定使用中的欢迎程序的可靠方法 - 模式的unity-greeter存在并不意味着我目前正在使用它。org.freedesktop.DisplayManager系统总线服务的路径和方法也没有提供对正在使用的欢迎程序的深入了解。