Я пытаюсь использовать рыбу в качестве оболочки. Когда я вхожу в систему с LightDM, я хочу запустить определенные приложения Xsession, но только тогда, когда оболочка запускается в начале LightDM.Настройка параметра «Изменение окружающей среды для рыб» Только в функции
Я попытался это в ~/.config/рыбы/config.fish:
###################################################################
# Start xsession applications, but only once.
if test -z "$XSESSION_STARTED"
set -xg XSESSION_STARTED 'f'
end
if test "$XSESSION_STARTED" = 'f'
xsession-apps
end
Функция Xsession-приложения затем запускает все приложения в фоновом режиме и устанавливает переменную окружения в конце, как это :
set -xg XSESSION_STARTED "t"
Но XSESSION_STARTED не появляется, чтобы установить на «т» и приводит к тому, Xsession-приложения функционируют, чтобы получить вызов каждый раз, даже когда я начинаю новый терминал в течение гнома перспективе.
Что мне не хватает. Есть ли лучший способ приблизиться к этому?
Одна вещь, которую @faho не подчеркивала, стоит отметить, что переменные среды (что вы получаете от 'set -gx') видны только программам, запущенным этой оболочкой. Когда вы открываете новый терминал, запуск которого запускается LightDM, который не знает об env var XSESSION_STARTED, поскольку он был создан дочерним процессом. Переменные окружения не отображаются в глобальном масштабе для каждого процесса в вашей системе. Это не то, как они работают. –
Faho, спасибо за ответ. Помещение в ~/.xsessionrc работало, если я использовал функцию bash для запуска функции рыбы. Я поставлю свой код ниже. –