Сценарий для поиска среды рабочего стола по умолчанию?

Предположим, что система Linux Desktop Environment установлена. Когда включено питание и введенные учетные данные, независимо от того, какая среда рабочего стола запущена, я рассмотрю среду рабочего стола по умолчанию. Пользователь может выбрать другую рабочую среду, такую ​​как KDE или XFCE, но это не будет по умолчанию. Что такое агностический фрагмент кода для определения рабочего стола по умолчанию или еще лучше, последний использованный DE. Код должен запускаться из удаленного сеанса SSH или только текстовой консоли CTRL-ALT-F2.

Толчком к этому вопросу является то, что я недавно отправил по электронной почте вывод nvidia-bug-report.sh в NVIDIA. Техническая поддержка NVIDIA ответила спустя несколько дней, спросив: «Что такое ОС?», «GNOME или KDE?», «Какое распределение?» – все метаданные, которые могут автоматически собираться и каталогизироваться по их собственному сценарию.

Поскольку среда рабочего стола разбилась, nvidia-bug-report.sh необходимо запустить из текстовой консоли CTRL-ALT-F2 или удаленного сеанса SSH. Ясно, что ни одна из них не имеет переменной $ DESKTOP_SESSION. Ответ будет возвращать один или несколько пунктов в порядке уверенности из списка, подобного "gnome|kde|mate|cinnamon|lx|xfce|jwm|none" .

Выбор между GNOME или KDE в Ubuntu.
Выбор типа сеанса рабочей среды в Fedora.Выбор между GNOME или KDE в CentOS.

Похоже, скрипты похожи на « Как я могу получить имя распространения и номер версии в простом сценарии оболочки? »

One Solution collect form web for “Сценарий для поиска среды рабочего стола по умолчанию?”

Возможно, этот фрагмент поможет, если нет надежного решения:

 $ w | awk -vdp=$DISPLAY '($2 ~ dp){gsub(/.*\//, "");print $NF}' 

или, может быть :

 $ qdbus | grep -oPm1 '(kdm|xfce|gnome)' 

Другой подход, использующий pstree:

 $ pstree -H $(pidof X) | grep -oP '(kdm|xfce|gnome)(?=.*?X)' kdm 

И еще один:

 $ lsof ~/.xsession-errors | grep -oEm1 '(kde|xfce|gnome)' kde 

или вариант:

 $ lsof ~/.xsession-errors | awk 'NR==2{print $1;quit}' startkde 
  • сценарий просмотра pdf-кода
  • Почему «$ Namefile» дает мне такой результат?
  • проблема с обратными кавычками внутри цикла while при выполнении команды над ssh
  • Что делает ]?
  • автоматизация конфигурации CentOS 7 с использованием сценариев оболочки
  • Количество пакетов, отправленных и полученных по интерфейсу
  • проблема с тем, как недавно созданные пусковые установки гномов работают против пусковых установок, восстановленных после загрузки системы. (изменение названия для ясности)
  • скрипт для подсчета файлов в каталоге
  • printf в сценарии оболочки can not do \ x% x
  • Поиск, подсчет и сортировка всех аудиофайлов. Файлы ALAC (M4A)
  • Команда Ubuntu runuser?
  • / dev / null-like автоматический каталог мусора для перемещения файлов?
  • Linux и Unix - лучшая ОС в мире.