Detectar o ambiente de área de trabalho atual fora da sessão

Detectar o ambiente de área de trabalho atual fora da sessão

Estou trabalhando no código, então umBOINCo cliente pode detectar o ambiente de desktop usado pelo usuário (principalmente GNOME, KDE Plasma, XFCE, LXDE/LXQT). Este recurso será necessário por vários motivos que estão fora do assunto.

Uma ideia é usarGDBuspara fazer a varredura do DBus para detectar o de em execução Outra sugestão que recebi é usar a XDG_SESSION_DESKTOPvariável de ambiente. O problema desta solução é que o boinc-client roda como um serviço com seu próprio usuário, portanto não poderá ler as XDG_SESSION_DESKTOPsessões definidas em outros usuários.

Na verdade, estou me perguntando se verificar executáveis ​​específicos como, por exemplo, /usr/bin/plasmashell ou verificar processos em execução seria a melhor ideia

informação relacionada