4

Я использую KDE 4.10. Я добавил переменную окружения в свой .profile, однако эта переменная, очевидно, не будет видна программам, которые я запускаю через графический интерфейс KDE (в отличие от оболочки с обновленной средой), пока я не перезапущу KDE.

Есть ли способ сказать KDE перечитать среду или явно установить среду KDE через DBUS или подобный механизм?

Один из способов - перезапустить KDE-программы, такие как klauncher и krunner, из оболочки с измененной средой, но я ищу что-то более элегантное (элегантное означает, что нет необходимости изменять память запущенных программ через gdb , хаха)

Наконец-то мы нашли то, что Windows может легко сделать, чего не может KDE/Linux?

Обновление 04/18: обновлено до KDE 4.10, добавлен комментарий о Windows.

1 ответ1

0

Все мои усилия сделать то же самое были напрасны ... Переменные среды - это особые вещи, дочерний процесс не может изменить окружение родителя, в то время как родительский процесс может что-то скорректировать, прежде чем разветвить дочерний процесс.

Как вы упомянули, вы МОЖЕТЕ запустить необходимые программы из недавно запущенной консоли, которая унаследовала бы новые настройки .profile, но для некоторых этого просто недостаточно.

Увы ... вам нужно выйти из системы, а затем снова войти, как минимум. Так жаль. Но посмотрите на светлую сторону ... вам не нужно перезагружаться.

(Хммм, запустите еще один новый X-сервер на:1 (или:2 и т.д.), Настройте DISPLAY env-vars всех программ, которые вам нужно продолжать, чтобы перенести их на новый X-сервер ... затем убейте первый сервер и переключитесь на новый. (учтите, это несколько проще сказать, чем СДЕЛАТЬ)


РЕДАКТИРОВАТЬ:
У меня была другая ИДЕЯ !! Если бы вы использовали для проникновения в процесс kwin , используя специально созданные вызовы функций, вы могли бы добавить любое количество переменных среды, изменить значения и т.д., Что затем будет отражено в любых новых программах / процессах, с которых вы начали этот момент Я сделал это, чтобы изменить текущую директорию процессов на umount / remount. Наверное, не для слабонервных ... Но это не то, что мы обслуживаем здесь, не так ли? Хи хи! Возможно! Я полагаю, вы также можете просто взломать каждый процесс, который вы выполняете, ввести новые значения переменных среды. Тогда вам не придется ничего перезагружать.

Мудрые слова от дяди Бена (Человек-паук, а не РИС! блин!).... " С большой силой приходит большая ответственность " Метинкс, я пока просто положу эту Карту Идеи в стек "Пока еще не доказано". ВЫ делаете это первым ... Я посмотрю ... отсюда ... за этой взрывной дверью ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .