在没有Gnome桌面会话ID的情况下检测C中的Gnome?
我试图在C中检测用户的桌面环境Gnome、KDE等 目前,我正在做这样的事情:在没有Gnome桌面会话ID的情况下检测C中的Gnome?,c,linux,gnome,getenv,C,Linux,Gnome,Getenv,我试图在C中检测用户的桌面环境Gnome、KDE等 目前,我正在做这样的事情: if (getenv("GNOME_DESKTOP_SESSION_ID")) { // if getenv didn't return NULL, GNOME_DESKTOP_SESSION_ID must be defined } 但是,在我的系统上,GNOME_桌面_会话_ID被定义为不推荐使用 是否有其他环境变量或完全不同的方法可以检查Gnome的存在?相关的Q&A-。注意:随着许多发行版从SysVi
if (getenv("GNOME_DESKTOP_SESSION_ID"))
{
// if getenv didn't return NULL, GNOME_DESKTOP_SESSION_ID must be defined
}
但是,在我的系统上,GNOME_桌面_会话_ID被定义为不推荐使用
是否有其他环境变量或完全不同的方法可以检查Gnome的存在?相关的Q&A-。注意:随着许多发行版从SysVinit过渡到systemd,这在很大程度上是不断变化的。只要Distribution保留consolekit,您查询桌面会话的能力就应该保持不变。如果迁移到systemd会导致consolekit下降,那么桌面注册和会话跟踪将是桌面定义的,因为它需要为每个桌面添加补丁,而这些补丁在我上次检查时都没有添加。