Вобщем вот какой возник вопрос:
Авто-запуск приложений пользователя в различных DE делается через .desktop файлы в ~/.config/autostart
Где то еще в системе (лень было искать) есть еще системные файлы для авто-запуска в DE, но речь не о них.
И все бы ничего, но наличие там файла - еще не гарантия, что автозапуск будет работать. DE обычно имеет утилиту (в XFCE это "настройки" -> "сеансы и запуск") которая среди всех (системных и пользовательских) программ разрешает выбрать что запускать, а что нет. Т.е. если в утилите галочку снять - автозапуска не будет даже если файлик есть...
Как легко догадаться - утилитка в desktop файл дописывает свой атрибут и проверяет на запуске сеанса не только файл но и этот атрибут.
Простейший эксперимент показывает, что в XFCE это атрибут hidden=true|false, значение которого true отрубает авто-запуск.
НО!
Занялся я этим изысканиями после того как меня попросили доделать правильную проверку автозапуска для elementary os freya - там за отключения автозапуска отвечает X-GNOME-Autostart-enabled=true|false у которого отрубает автозапуск значение false.

И вот возникает вопрос - если файл есть, и в нем обе этих переменных и одна говорит - делать автозапуск, а другая - нет - то как понять включен авто-запуск или нет?
Я понимаю что кейс несколько надуман - возможность наличия сразу двух таких переменных - мала... Но это я знаю про два ДЕ - а что в остальных? Если там еще есть варианты?

Вобщем задача бы хоть от части упростилась бы, если бы программно можно было узнать пользовательское DE.
В принципе составить словарик DE - что проверять - просто. Но как узнать какой DE у пользователя?
PS.
Отдельно зреет идея на первом запуске засунуть в ~/.config/autostart нужный файлик и за настройками автозапуска отослать к утилитам системы, а не пытаться рулить ими самому.