Можно чуть подробнее, что это такое? Может это полезно, а может и вредно?- автообновление переменных окружения при изменении их в настройках ОС.
автообновление переменных окружения
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
автообновление переменных окружения
drkns 13.05.2010 15:47:47 +0200 - build 1548
Re: Nightly Builds — еженощные сборки
через интерфейс или через реестр изменил ты, например, переменную среды PATH - Far об этом узнает и самостоятельно скорректирует свой блок переменных среды.NightRoman wrote:drkns 13.05.2010 15:47:47 +0200 - build 1548Можно чуть подробнее, что это такое? Может это полезно, а может и вредно?- автообновление переменных окружения при изменении их в настройках ОС.
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!
- Andrey Budko
- Posts: 1203
- Joined: Fri 01 Apr, 2005 14:03
- Contact:
Re: Nightly Builds — еженощные сборки
А смысл?Skirda wrote:через интерфейс или через реестр изменил ты, например, переменную среды PATH - Far об этом узнает и самостоятельно скорректирует свой блок переменных среды.
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: Nightly Builds — еженощные сборки
Хм. Выглядит, конечно, интересно... Но может быть и медвежьей услугой, боюсь. Обычно программы так себя не ведут и пользователи этого не ожидают. Проблемы будут редко, конечно, но будут *очень* загадочными, ибо о такой фиче все забудут.Skirda wrote:через интерфейс или через реестр изменил ты, например, переменную среды PATH - Far об этом узнает и самостоятельно скорректирует свой блок переменных среды.NightRoman wrote:drkns 13.05.2010 15:47:47 +0200 - build 1548Можно чуть подробнее, что это такое? Может это полезно, а может и вредно?- автообновление переменных окружения при изменении их в настройках ОС.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Re: Nightly Builds — еженощные сборки
Через реестр - фиг. Только интерфейс.Skirda wrote:через интерфейс или через реестр изменил ты, например, переменную среды PATH - Far об этом узнает и самостоятельно скорректирует свой блок переменных среды.
Бояться не надо. При редактировании через интерфейс рассылается бродкаст со спецпараметром, "умные" шеллы его обрабатывают и подхватывают обновлённое окружение без перезапуска.NightRoman wrote:Но может быть и медвежьей услугой, боюсь. Обычно программы так себя не ведут и пользователи этого не ожидают.
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: Nightly Builds — еженощные сборки
Это уже умный шелл?DrKnS wrote:С explorer'ом тоже начеку будешь?
А как с Cmd, PowerShell? Если с ними нет, это-таки нехорошо. Фар, скорей, должен не то чтобы подражать, это плохое слово, а поддерживать некое единообразие с такими шеллами, а не с проводником.
- HaRT
- Moderator
- Posts: 10868
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Nightly Builds — еженощные сборки
По Вашим вопросам понятно, что Вы не сталкивались с той проблемой, которая решена обсуждаемым изменением. А те, кто изменение внёс, сталкивались, и я тоже.NightRoman wrote:А какие умные шеллы? Чтобы и с ними быть начеку на этот счет.
Поверьте, на практике было чрезвычайно неудобно, что после модификации начальных значений переменных окружения приходится перезапускать консольные шеллы, чтобы получить новые значения в действии.
Другой вопрос, что могут быть сценарии, когда автоматическое обновление нежелательно. Но я таких пока не знаю.
Фар есть инструмент, а не нянька. © 2009 DrKnS
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: Nightly Builds — еженощные сборки
HaRT
Нет, наоборот, я сталкивался с этими проблемами и научился их решать без перезапуска шеллов другими способами, которые под моим контролем.
Именно поэтому новая фича конкретно мне пользы не принесет. А вред может.
Разработчикам решать, само-собой. Нестандартные фичи, а она вроде такая, принято делать опциональными, выключенными по умолчанию. Те, кому надо, включают это у себя осознанно, получают удовольствие, но и готовы к особенностям.
Нет, наоборот, я сталкивался с этими проблемами и научился их решать без перезапуска шеллов другими способами, которые под моим контролем.
Именно поэтому новая фича конкретно мне пользы не принесет. А вред может.
Разработчикам решать, само-собой. Нестандартные фичи, а она вроде такая, принято делать опциональными, выключенными по умолчанию. Те, кому надо, включают это у себя осознанно, получают удовольствие, но и готовы к особенностям.
- HaRT
- Moderator
- Posts: 10868
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Nightly Builds — еженощные сборки
Так поделитесь мудростью, пожалуйста.NightRoman wrote:Нет, наоборот, я сталкивался с этими проблемами и научился их решать без перезапуска шеллов другими способами, которые под моим контролем.
Фар есть инструмент, а не нянька. © 2009 DrKnS
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: Nightly Builds — еженощные сборки
Как изменить переменную окружения текущего процесса на глобальную в Фаре? В PowerShellFar:HaRT wrote:Так поделитесь мудростью, пожалуйста.NightRoman wrote:Нет, наоборот, я сталкивался с этими проблемами и научился их решать без перезапуска шеллов другими способами, которые под моим контролем.
>: $env:X = [Environment]::GetEnvironmentVariable('X', 'machine')
А если лень так, то Фар или его плагин могли бы иметь команду - импортнуть это дело. По команде. Без перезапуска Фара.
Когда Фар сам это решает за пользователя, какая среда окружения у него должна быть, это не слишком хорошо.
Re: Nightly Builds — еженощные сборки
Насчёт нежелательных эффектов - у меня, например, фар запускается из батника в котором нужные переменные устанавливаются, если фар перечитает их из реестра то все изменения потеряются.
Re: Nightly Builds — еженощные сборки
А вот еще про перечитывание переменных окружения при получении сообщения WM_SETTINGCHANGE. В функции void ReloadEnvironment() вычитываются сначала переменные из HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment, потом из HKCU\Environment и так далее. Это все правильно. Но вот переменная среды PATH, она есть и в HKLM и в HKCU и именно эта переменная склеивается, хотя переменные TEMP и TMP - замещаются. В результате получаем:
Можно как-то решить эту проблему? Честно говоря, я не знаю кроме переменной PATH еще для какой-то делается ли склейка...
Code: Select all
rem До изменения переменных:
C:\>set pa
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Dos;C:\Dos\4NT;C:\Dos\Archives;..;C:\Dos\SharedDLL;C:\Dos\UnixUtils\usr\local\wbin;D:\MinGW\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.BTM;.PY
rem После изменения переменных:
C:\>set pa
Path=C:\Dos\SharedDLL;C:\Dos\UnixUtils\usr\local\wbin;D:\MinGW\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.BTM;.PY