Detectar el entorno de escritorio actual desde fuera de la sesión

Detectar el entorno de escritorio actual desde fuera de la sesión

Estoy trabajando en código así queBOINCEl cliente puede detectar el entorno de escritorio utilizado por el usuario (principalmente GNOME, KDE Plasma, XFCE, LXDE/LXQT). Esta característica será necesaria por varias razones que están fuera de tema.

Una idea es utilizarGDBusescanear DBus para detectar la ejecución de Otra sugerencia que recibí es usar la XDG_SESSION_DESKTOPvariable de entorno. El problema de esta solución es que boinc-client se ejecuta como un servicio con su propio usuario, por lo que no podrá leer las XDG_SESSION_DESKTOPsesiones definidas en otros usuarios.

De hecho, me pregunto si buscar ejecutables específicos como, por ejemplo, /usr/bin/plasmashell o escanear procesos en ejecución sería la mejor idea.

información relacionada