Без явной поддержки в вашем WM/DE (и я не знаю ни о чем, что делает). Акира указывает в другом ответе, что Fluxbox поддерживает это. Если вы используете Fluxbox, используйте этот ответ вместо) вы можете сделать пару вещей.
Запустите ваши программы из терминала
Вместо того, чтобы использовать графические средства запуска, вы можете вместо этого запустить терминал, экспортировать свою среду в его оболочку, а затем использовать ее для запуска других приложений.
export VAR="whatever"
nameOfGUIProgramExpectingVAR &
differentProgram &
Терминал тогда становится своего рода вечным боксом запуска. Это также имеет то преимущество, что может иметь несколько разных точек запуска, каждая из которых имеет разные среды для запускаемых программ.
Замените свой графический интерфейс запуска вышеописанным способом
Это может не работать для всех настольных сред. Например, если вы работаете в Ubuntu и Unity, вы можете установить переменные окружения и заменить работающий модуль запуска. Я ожидаю, что подобное можно сделать с помощью gnome-panel или KDE, но YMMV.
export PATH=$PATH:/my/custom/path
compiz --replace ccp &
disown %1
Это добавляет новую запись в путь для оболочки в терминале и всех программ, которые он запускает. Затем он запускает compiz (оконный менеджер для единицы) с «--replace», который заставляет старый выходить, а новый занимает его место. Строка disown
делает ее не связанной с терминалом, так что терминал может быть закрыт без влияния на оконный менеджер. Теперь программы, запущенные Unity, теперь будут иметь новый PATH.
Обратите внимание: при этом ваши окна могут перемешиваться, но они будут работать. Все программы, которые уже запущены, будут по-прежнему использовать старую среду, но новые получат новую.
Примечание: некоторые программы пытаются быть одиночными (например, {Open, Libre} Office, firefox) и не запускайте новые экземпляры при запуске, если существующий экземпляр уже существует. Эти программы также будут продолжать использовать старую среду до тех пор, пока не будут полностью завершены, а затем запущены заново.
Примечание. Если управляющей программой вашего сеанса X является оконный менеджер, это, скорее всего, приведет к закрытию X (например, если вы запустили X с помощью xinit
который compiz` ccp. Обычно это какой-то менеджер сеансов, который является контролирующим объектом. Вы должны поэкспериментировать на неважном сеансе, прежде чем попробовать это на важном сеансе!
Чтобы было ясно, вы хотите заменить только часть вашего DE, которая выполняет запуск, а не весь DE.