У меня есть мульти-десктопная среда с 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, поскольку я не хочу, чтобы кто-либо мог устанавливать программное обеспечение на эти машины.