>> AC> И что? Аргументация где? >> >> И то, что нужно настроить среду для выполнения консольных программ. Что >> в случае с логином в иксы не только не нужно, но и физически невозможно, >> за отсутствием оной консоли. /etc/profile не имеет никакого отношения к "консольным" программам. В /etc/profile - прописывается system wide переменные. В топике прямо так и написано. # /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
Добавлять к этому списку *dm или нет - решать, в общем, мне, админу. Что туда прописываешь ты я, в общем, не в курсе. Кое для чего можно использовать pam_env. Но /etc/profile и pam_env в любом случае не эквивалентны. В топике pam_env прописан еще в pam.d/cron и pam.d/atd. Может быть это нужно, а может и нет. Решает, что ему лучше, в общем, тоже админ системы. Переменным PAGER, NNTPSERVER, MANPAGER и так далее нечего делать в at и cron задачах. LC_NUMERIC=C и можно прописать и в pam_env. Что до консольных программ - в консоли Linux есть переменная TERM, на основе которой прописываются все "консольные" особенности. Так же как для TERM=dumb или TERM=emacs, к примеру. Что касается причуд и заморочек zsh. /etc/zprofile: . /etc/profile и, как обычно, "задача сводится к предыдущей"(c), как в моем любимом анекдоте. > Ну, в свое время у меня довольно заметный кусок .bashrc был спрятан > под > if [ -t 0 ]; then > ... > endif В моем .myshrc у меня есть и такие куски, и куски, специфичные для TERM, $USER, uname -s, специфичные для шела (ksh, bash, zsh) и многие другие для чего-нибудь специфичные. DISPLAY же например, я прописываю там же вот так в зависимости от того, откуда пришел. if test -z "$DISPLAY" -a -x /usr/bin/who ; then WHOAMI="`/usr/bin/who am i`" WHOAMI="`echo $WHOAMI | awk '{print \$NF}' | tr -d '()'`" case _"$WHOAMI" in _*.*.*.*) DISPLAY=$WHOAMI:0.0;; _:*) DISPLAY=$WHOAMI;; *) DISPLAY=$WHOAMI:0.0;; esac unset WHOAMI fi > Специально для случая, когда консоле-специфические вещи настроить > физически невозможно. Все остальное прекрасно отрабатывало из .xsession Консоль и /etc/profile - ортогональны. >> AC> И что? Консоли нет. А окружение должно быть. И должно быть >> AC> одинаковым. Если пользователь ЯВНО не сделает иначе. > Одинаковым быть не должно. Зачем мне в X-овых программах, запущенных из > меню *wm переменные COLUMNS и TERM. Согласованным - должно. Кто предлагал прописывать в /etc/profile? У меня совсем другие переменные. Выставлять COLUMNS и TERM? Пардон, Зачем? Не, я могу понять, зачем нужно выставить TERM именно для консоли, но при чем тут /etc/profile? Чтобы TERM прописывался и для ssh сессий? >> Для выставления _части_ окружения, одинаковой при любом логине, >> существует pam_env. Нет. Зачем NNTPSERVER, EDITOR, CVSEDITOR и т.п. cron-у и at-у? >> А _все_ окружение одинаковым быть не должно. Хинт: >> чему должно равняться общее для всех вариантов логина значение >> переменной окружения DISPLAY? COLUMNS? LINES? TERM? LC_MESSAGES, >> наконец (а у меня консоль не русифицирована, ибо нафиг не надо)? Ну и Все это, за исключением, может быть LC_MESSAGES, не имеет отношения к system-wide настройкам и /etc/profile. > Ну, консоль в моем понимании, это xterm. Или какая другая хрень, с > которой программа общается через /dev/tty. Все остальные её особенности > определяется по значению TERM. А вот у поколения пепси консоль - это KDE-ная konsole. Я бы предложил не вносить путаницу в терминологию. Консоль - это консоль, эмулятор терминала - это эмулятор терминала. "Аффтарам" KDE-ной консоли "низачет" за внесение неразберихи. -- Best regards, Aleksey Cheusov. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]