* [Comm] bashrc, bashrc.d и неинтерактивный shell
@ 2008-11-15 5:27 Denis G. Samsonenko
2008-11-15 7:55 ` [Comm] Настройка xinetd Кудрявцев Сергей
2008-11-15 8:49 ` [Comm] bashrc, bashrc.d и неинтерактивный shell Sergey Vlasov
0 siblings, 2 replies; 8+ messages in thread
From: Denis G. Samsonenko @ 2008-11-15 5:27 UTC (permalink / raw)
To: community
День добрый!
Озаботился я тем, чтобы в системе были определены переменные
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?
--
Всего доброго,
Денис.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Comm] Настройка xinetd
2008-11-15 5:27 [Comm] bashrc, bashrc.d и неинтерактивный shell Denis G. Samsonenko
@ 2008-11-15 7:55 ` Кудрявцев Сергей
2008-11-15 8:53 ` Andrey Rahmatullin
2008-11-15 8:49 ` [Comm] bashrc, bashrc.d и неинтерактивный shell Sergey Vlasov
1 sibling, 1 reply; 8+ messages in thread
From: Кудрявцев Сергей @ 2008-11-15 7:55 UTC (permalink / raw)
To: ALT Linux Community general discussions
Собственно интересует что означает каждый из след. сервисов:
# grep disable *
chargen-tcp: disable = yes
chargen-udp: disable = yes
daytime-tcp: disable = yes
daytime-udp: disable = yes
discard-tcp: disable = yes
discard-udp: disable = yes
echo-tcp: disable = yes
echo-udp: disable = yes
time-tcp: disable = yes
time-udp: disable = yes
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Comm] bashrc, bashrc.d и неинтерактивный shell
2008-11-15 5:27 [Comm] bashrc, bashrc.d и неинтерактивный shell Denis G. Samsonenko
2008-11-15 7:55 ` [Comm] Настройка xinetd Кудрявцев Сергей
@ 2008-11-15 8:49 ` Sergey Vlasov
2008-11-15 18:43 ` Denis G. Samsonenko
1 sibling, 1 reply; 8+ messages in thread
From: Sergey Vlasov @ 2008-11-15 8:49 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 1355 bytes --]
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).
Такой вариант подходит для случая, когда в процессе работы прокси не
меняется.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Comm] bashrc, bashrc.d и неинтерактивный shell
2008-11-15 8:49 ` [Comm] bashrc, bashrc.d и неинтерактивный shell Sergey Vlasov
@ 2008-11-15 18:43 ` Denis G. Samsonenko
2008-11-16 8:19 ` Sergey Vlasov
0 siblings, 1 reply; 8+ messages in thread
From: Denis G. Samsonenko @ 2008-11-15 18:43 UTC (permalink / raw)
To: ALT Linux Community general discussions
Привет!
15 ноября 2008 г. 14:49 Sergey Vlasov написал:
> На самом деле достаточно экспортировать переменные один раз - при
> входе пользователя; для этого генерируемый файл нужно переместить в
> /etc/profile.d/proxy.sh (при входе в X запускается /etc/X11/Xsession,
> где в качестве интерпретатора явным образом указан /bin/bash -login).
> Такой вариант подходит для случая, когда в процессе работы прокси не
> меняется.
Да, с таким вариантом тот же firefox, запускаемый из меню будет видеть
соответствующие переменные. Но тогда возникает другая проблема.
Оболочка, запущенная не как логин-шелл (например, оболочка в mc)
данных переменных не получит.
Так что единственный выход пока для себя -- это положить proxy.sh как
в /etc/bashrc.d, так и в /etc/profile.d
--
Всего доброго,
Денис.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Comm] bashrc, bashrc.d и неинтерактивный shell
2008-11-15 18:43 ` Denis G. Samsonenko
@ 2008-11-16 8:19 ` Sergey Vlasov
2008-11-16 19:15 ` Denis G. Samsonenko
0 siblings, 1 reply; 8+ messages in thread
From: Sergey Vlasov @ 2008-11-16 8:19 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 874 bytes --]
On Sun, Nov 16, 2008 at 12:43:04AM +0600, Denis G. Samsonenko wrote:
> Привет!
>
> 15 ноября 2008 г. 14:49 Sergey Vlasov написал:
> > На самом деле достаточно экспортировать переменные один раз - при
> > входе пользователя; для этого генерируемый файл нужно переместить в
> > /etc/profile.d/proxy.sh (при входе в X запускается /etc/X11/Xsession,
> > где в качестве интерпретатора явным образом указан /bin/bash -login).
> > Такой вариант подходит для случая, когда в процессе работы прокси не
> > меняется.
>
> Да, с таким вариантом тот же firefox, запускаемый из меню будет видеть
> соответствующие переменные. Но тогда возникает другая проблема.
> Оболочка, запущенная не как логин-шелл (например, оболочка в mc)
> данных переменных не получит.
Должна получить, унаследовав от первоначального login shell (если
только кто-то по дороге их не сбросил).
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Comm] bashrc, bashrc.d и неинтерактивный shell
2008-11-16 8:19 ` Sergey Vlasov
@ 2008-11-16 19:15 ` Denis G. Samsonenko
2008-11-16 20:21 ` Sergey Vlasov
0 siblings, 1 reply; 8+ messages in thread
From: Denis G. Samsonenko @ 2008-11-16 19:15 UTC (permalink / raw)
To: ALT Linux Community general discussions
Привет!
16 ноября 2008 г. 14:19 Sergey Vlasov написал:
>> Да, с таким вариантом тот же firefox, запускаемый из меню будет видеть
>> соответствующие переменные. Но тогда возникает другая проблема.
>> Оболочка, запущенная не как логин-шелл (например, оболочка в mc)
>> данных переменных не получит.
>
> Должна получить, унаследовав от первоначального login shell (если
> только кто-то по дороге их не сбросил).
Сейчас ещё раз проверил -- действительно наследует. Странно, у меня в
первый раз почему-то данные переменные не значились в выводе set в
оболочке mc, потому и решил, что не сработает.
Опять же тогда непонятно мне, почему же тогда раньше bash-completion
не работал раньше в том же mc, когда он находился в /etc/profile.d, и
заработал только когда был перенесён в /etc/bashrc.d
(https://bugzilla.altlinux.org/show_bug.cgi?id=9273), если его
оболочка наследует от "первоначального login shell"?
--
Всего доброго,
Денис.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Comm] bashrc, bashrc.d и неинтерактивный shell
2008-11-16 19:15 ` Denis G. Samsonenko
@ 2008-11-16 20:21 ` Sergey Vlasov
0 siblings, 0 replies; 8+ messages in thread
From: Sergey Vlasov @ 2008-11-16 20:21 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 951 bytes --]
On Mon, Nov 17, 2008 at 01:15:17AM +0600, Denis G. Samsonenko wrote:
> Сейчас ещё раз проверил -- действительно наследует. Странно, у меня в
> первый раз почему-то данные переменные не значились в выводе set в
> оболочке mc, потому и решил, что не сработает.
Возможно, эта проверка выполнялась сразу после внесения изменений в
/etc/profile.d/* - без выполнения нового входа пользователя.
> Опять же тогда непонятно мне, почему же тогда раньше bash-completion
> не работал раньше в том же mc, когда он находился в /etc/profile.d, и
> заработал только когда был перенесён в /etc/bashrc.d
> (https://bugzilla.altlinux.org/show_bug.cgi?id=9273), если его
> оболочка наследует от "первоначального login shell"?
Включение bash-completion осуществляется не через переменные
окружения, а через функции shell и прочие настройки, которые не
наследуются, как окружение, и действительно должны делаться в каждом
интерактивном процессе shell.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2008-11-16 20:21 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-15 5:27 [Comm] bashrc, bashrc.d и неинтерактивный shell Denis G. Samsonenko
2008-11-15 7:55 ` [Comm] Настройка xinetd Кудрявцев Сергей
2008-11-15 8:53 ` Andrey Rahmatullin
2008-11-15 8:49 ` [Comm] bashrc, bashrc.d и неинтерактивный shell Sergey Vlasov
2008-11-15 18:43 ` Denis G. Samsonenko
2008-11-16 8:19 ` Sergey Vlasov
2008-11-16 19:15 ` Denis G. Samsonenko
2008-11-16 20:21 ` Sergey Vlasov
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git