Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在没有Gnome桌面会话ID的情况下检测C中的Gnome?_C_Linux_Gnome_Getenv - Fatal编程技术网

在没有Gnome桌面会话ID的情况下检测C中的Gnome?

在没有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

我试图在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-。注意:随着许多发行版从SysVinit过渡到systemd,这在很大程度上是不断变化的。只要Distribution保留consolekit,您查询桌面会话的能力就应该保持不变。如果迁移到systemd会导致consolekit下降,那么桌面注册和会话跟踪将是桌面定义的,因为它需要为每个桌面添加补丁,而这些补丁在我上次检查时都没有添加。