Все мои усилия сделать то же самое были напрасны ... Переменные среды - это особые вещи, дочерний процесс не может изменить окружение родителя, в то время как родительский процесс может что-то скорректировать, прежде чем разветвить дочерний процесс.
Как вы упомянули, вы МОЖЕТЕ запустить необходимые программы из недавно запущенной консоли, которая унаследовала бы новые настройки .profile, но для некоторых этого просто недостаточно.
Увы ... вам нужно выйти из системы, а затем снова войти, как минимум. Так жаль. Но посмотрите на светлую сторону ... вам не нужно перезагружаться.
(Хммм, запустите еще один новый X-сервер на:1 (или:2 и т.д.), Настройте DISPLAY env-vars всех программ, которые вам нужно продолжать, чтобы перенести их на новый X-сервер ... затем убейте первый сервер и переключитесь на новый. (учтите, это несколько проще сказать, чем СДЕЛАТЬ)
РЕДАКТИРОВАТЬ:
У меня была другая ИДЕЯ !! Если бы вы использовали gdb для проникновения в процесс kwin , используя специально созданные вызовы функций, вы могли бы добавить любое количество переменных среды, изменить значения и т.д., Что затем будет отражено в любых новых программах / процессах, с которых вы начали этот момент Я сделал это, чтобы изменить текущую директорию процессов на umount / remount. Наверное, не для слабонервных ... Но это не то, что мы обслуживаем здесь, не так ли? Хи хи! Возможно! Я полагаю, вы также можете просто взломать каждый процесс, который вы выполняете, ввести новые значения переменных среды. Тогда вам не придется ничего перезагружать.
Мудрые слова от дяди Бена (Человек-паук, а не РИС! блин!).... " С большой силой приходит большая ответственность " Метинкс, я пока просто положу эту Карту Идеи в стек "Пока еще не доказано". ВЫ делаете это первым ... Я посмотрю ... отсюда ... за этой взрывной дверью ...