Скрипт, запущенный при настройке сеанса, не знает $ DESKTOP_SESSION

У меня есть мульти-десктопная среда с Unity и KDE. По причинам, я установил только среды без специальных инструментов, таких как nautilus или dolphin.

Так как пользователям (это многопользовательские ПК) нужны эти инструменты для работы, я написал скрипт, который устанавливает специальные инструменты для среды, в которую входит пользователь, и удаляет другие (т. Е. пользователь вошел в KDE, скрипт установит dolphin и удалит nautilus). Это работает довольно хорошо, к сожалению, пользователи должны помнить, чтобы запустить его.

Я хотел автоматизировать этот процесс, добавив этот скрипт в lightdm, поместив файл конфигурации в /usr/share/lightdm/lightdm.conf.d, который выглядит следующим образом:

  [SeatDefaults]
  session-setup-script=/opt/install-tools.sh

и выполняя проверку среды внутри называется script, с:

case "$DESKTOP_SESSION" in
    ubuntu)
        do stuff....
        ;
esac

, но, как указано в заголовке, переменная не установлена ​​в этой точке.

Я также попытался добавить сценарий, который содержал только часть установки и удаления, к сценарию /usr/share/xsessions, но также потерпел неудачу, поскольку у меня не было root-разрешения на тот момент. И я не могу изменить правило sudoers, чтобы включить apt-get для пользователей без полномочий root, поскольку я не хочу, чтобы кто-либо мог устанавливать программное обеспечение на эти машины.

1117 У кого-нибудь есть желание для этого? Или, по крайней мере, хорошая идея, как я мог это исправить?

1
задан 12 August 2016 в 03:07

0 ответов

Другие вопросы по тегам:

Похожие вопросы: