On Sat, Nov 15, 2008 at 11:27:59AM +0600, Denis G. Samsonenko wrote: > Озаботился я тем, чтобы в системе были определены переменные > http_proxy и ftp_proxy. При подъёме сети в зависимости от профиля у > меня генерится файл /etc/bashrc.d/proxy.sh с соответствеющим > содержимым. Вроде бы всё хорошо, но есть одно но. > > Скрипты из /etc/bashrc.d запускаются только при интерактивном shell. > Отсюда у меня такой косяк: если запускать firefox, например, из > эмулятора терминала, то для получающегося процесса переменные > http_proxy и ftp_proxy определены; если же запускать из меню KDE, то > http_proxy и ftp_proxy не определены. > > Есть ли специальное место для скриптов, которые должны запускаться при > старте оболочки в не зависимости, интерактивная она или нет, кроме > ручной правки /etc/bashrc? Для /bin/sh - нет; для /bin/bash читается $BASH_ENV, но использование этого файла для модификации поведения неинтерактивной оболочки может повлиять на работу скриптов. На самом деле достаточно экспортировать переменные один раз - при входе пользователя; для этого генерируемый файл нужно переместить в /etc/profile.d/proxy.sh (при входе в X запускается /etc/X11/Xsession, где в качестве интерпретатора явным образом указан /bin/bash -login). Такой вариант подходит для случая, когда в процессе работы прокси не меняется.