<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>11814</bug_id>
          
          <creation_ts>2007-05-19 21:50:25 +0400</creation_ts>
          <short_desc>/etc/profile.d/0lang.*sh: изменить приоритет</short_desc>
          <delta_ts>2012-09-11 13:14:19 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>setup</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>23155</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Vitaly Lipatov">lav</reporter>
          <assigned_to name="Alexey Gladkov">legion</assigned_to>
          <cc>4alt</cc>
    
    <cc>aen</cc>
    
    <cc>dd1email</cc>
    
    <cc>evg</cc>
    
    <cc>glebfm</cc>
    
    <cc>hiddenman</cc>
    
    <cc>imz</cc>
    
    <cc>kharpost</cc>
    
    <cc>ldv</cc>
    
    <cc>legion</cc>
    
    <cc>mike</cc>
    
    <cc>mithraen</cc>
    
    <cc>placeholder</cc>
    
    <cc>rider</cc>
    
    <cc>shakirov</cc>
    
    <cc>swi</cc>
    
    <cc>vt</cc>
    
    <cc>vvk</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>50417</commentid>
    <comment_count>0</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2007-05-19 21:50:25 +0400</bug_when>
    <thetext>При входе по ssh переназначения LANG и прочего не происходит в связи с тем, 
что настройки в /etc/sysconfig/i18n &quot;перебивают&quot; эти переменные.
Вообще приоритет, как я понимаю таков:
- берём переменные что по ssh переданы,
если нет
- берём указанное в .i18n,
если нет
- берём указанное в /etc/sysconfig/18n

Собственно, похоже предлагается в случае уже заданной LANG выходить из скрипта 
0lang сразу.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109467</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2010-05-26 18:39:42 +0400</bug_when>
    <thetext>*** Bug 22182 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109480</commentid>
    <comment_count>2</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2010-05-26 21:33:23 +0400</bug_when>
    <thetext>Надо будет попробовать...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109500</commentid>
    <comment_count>3</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2010-05-27 18:20:37 +0400</bug_when>
    <thetext>setup-2.2.13-alt1 -&gt; sisyphus:

* Thu May 27 2010 Dmitry V. Levin &lt;ldv@altlinux&gt; 2.2.13-alt1
- /etc/profile.d/lang.*sh: do not source i18n files if
  non-empty LANG is already set (closes: #11814).
- /etc/services: updated SANE entries (closes: #13071).
- /etc/inputrc: added bindings for xterm ctrl-arrows (closes: #15628).
- /etc/profile.d/tmpdir.*sh: do not create ~/tmp directory (closes: #19014).
- /etc/filesystems: replaced obsolete content with a comment hinting
  on the purpose of this file (closes: #21082).
- /etc/inputrc: added bindings for history search (closes: #22570).
- /etc/securetty: added xvc0 for xen virtual console (closes: #23532).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112256</commentid>
    <comment_count>4</comment_count>
    <who name="Vladimir V. Kamarzin">vvk</who>
    <bug_when>2010-09-17 18:54:00 +0400</bug_when>
    <thetext>+if [ -n &quot;${LANG-}&quot; ]; then
+       sourced=1

Теперь имеем

vvk@home ~ % echo $LANG
ru_RU.UTF-8
vvk@home ~ % su -
Password:
root@home ~ # echo $LANG
ru_RU.UTF-8

В /root/.i18n
LANG=en_US.utf8

По-моему такой фикс совсем не OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112258</commentid>
    <comment_count>5</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2010-09-17 19:08:28 +0400</bug_when>
    <thetext>(In reply to comment #4)
&gt; +if [ -n &quot;${LANG-}&quot; ]; then
&gt; +       sourced=1
&gt; 
&gt; Теперь имеем
&gt; 
&gt; vvk@home ~ % echo $LANG
&gt; ru_RU.UTF-8
&gt; vvk@home ~ % su -
&gt; Password:
&gt; root@home ~ # echo $LANG
&gt; ru_RU.UTF-8
&gt; 
&gt; В /root/.i18n
&gt; LANG=en_US.utf8
&gt; 
&gt; По-моему такой фикс совсем не OK.

1. Я не использую &quot;su -&quot;.
2. Как вы предлагаете удовлетворить несоместимые желания одновременно?  Сделать поведение конфигурируемым?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112333</commentid>
    <comment_count>6</comment_count>
    <who name="Vladimir V. Kamarzin">vvk</who>
    <bug_when>2010-09-20 09:42:24 +0400</bug_when>
    <thetext>(В ответ на комментарий №5)
&gt; 2. Как вы предлагаете удовлетворить несоместимые желания одновременно?  Сделать
&gt; поведение конфигурируемым?

Возможно, переключатель через control не помешает.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112336</commentid>
    <comment_count>7</comment_count>
    <who name="Vladimir V. Kamarzin">vvk</who>
    <bug_when>2010-09-20 09:52:33 +0400</bug_when>
    <thetext>(В ответ на комментарий №5)
&gt; 2. Как вы предлагаете удовлетворить несоместимые желания одновременно?  Сделать
&gt; поведение конфигурируемым?

Возможно, переключатель через control не помешает. Но если делать системную ручку, всё равно надо решить, какое поведение должно быть по умолчанию.

Раз за несколько месяцев никто не поинтересовался этим изменением, значит всех устраивает текущий вариант. А кому нужно переопределение, могут и ~/.bashrc поправить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112591</commentid>
    <comment_count>8</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2010-09-23 17:39:38 +0400</bug_when>
    <thetext>Как-то за прошедшие 2 года я понял, что более предпочительным является обратное предложенному поведение:
- имена локалей могут быть несовместимы между машинами (но это уже вопрос к AcceptEnv в конфиге ssh)
- становиться рутом с нерутовой локалью как-то непривычно и может давать побочные эффекты</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112593</commentid>
    <comment_count>9</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2010-09-23 17:57:37 +0400</bug_when>
    <thetext>(In reply to comment #8)
&gt; Как-то за прошедшие 2 года я понял, что более предпочительным является обратное
&gt; предложенному поведение:

Поздно, все уже привыкли и активно пользуются.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113108</commentid>
    <comment_count>10</comment_count>
    <who name="Andrew Kornilov">hiddenman</who>
    <bug_when>2010-10-04 22:11:40 +0400</bug_when>
    <thetext>Не успел еще ощутить все &quot;прелести&quot; такого поведения удаленно, только обновил dekstop, но вот то, что теперь переменную LC_MESSAGES=C в ~/.i18n все дружно игнориуют - удручает. Это что теперь, как раньше редактировать свои .bashrc/.zhrc?

P.S. У меня еще в .i18n прописан LANG, может в этом дело, надо проверить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113109</commentid>
    <comment_count>11</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2010-10-04 22:19:31 +0400</bug_when>
    <thetext>(In reply to comment #10)
&gt; теперь переменную LC_MESSAGES=C в ~/.i18n все дружно игнориуют

Прежде чем делать свои выводы, прочитайте, пожалуйста, сперва всё, что здесь написано.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113127</commentid>
    <comment_count>12</comment_count>
    <who name="Andrew Kornilov">hiddenman</who>
    <bug_when>2010-10-05 13:02:01 +0400</bug_when>
    <thetext>(В ответ на комментарий №11)
&gt; (In reply to comment #10)
&gt; &gt; теперь переменную LC_MESSAGES=C в ~/.i18n все дружно игнориуют
&gt; 
&gt; Прежде чем делать свои выводы, прочитайте, пожалуйста, сперва всё, что здесь
&gt; написано.
Я все прочитал, но проблема была. С помощью #altlinux, &quot;зубила и такой-то матери&quot; выяснилось, что в случае использования GDM эти настройки в ~/.1i8n игнорируются, не знаю, почему (раньше не игнорировались). Переключился на xdm и заработало. 

Оставляю комментарий для тех, кто тоже столкнется с этой проблемой.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113128</commentid>
    <comment_count>13</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2010-10-05 13:05:56 +0400</bug_when>
    <thetext>А точнее, gdm сам выставил локаль, минуя {/etc/sysconfig/,.}i18n</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113778</commentid>
    <comment_count>14</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2010-10-15 15:33:55 +0400</bug_when>
    <thetext>*** Bug 24314 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113780</commentid>
    <comment_count>15</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2010-10-15 15:48:16 +0400</bug_when>
    <thetext>поиск есть, но найти не удалось, спасибо хорошему заголовку у этой ошибки.

Дим, надо что-то с этим делать. сейчас приходится на всех серверах править profile.d/lang.sh убирая оттуда игнорирование ~/.i18n</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114015</commentid>
    <comment_count>16</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2010-10-20 01:07:22 +0400</bug_when>
    <thetext>Сперва тема была &quot;/etc/profile.d/0lang.*sh: изменить приоритет в пользу переменных среды&quot;.
Потом, через полгода после того, как изменение было реализовано внедрено,
тему поменяли на &quot;/etc/profile.d/0lang.*sh: изменить приоритет в пользу конфигурационных файлов .i18n&quot;.

Когда одни хотят одного, а другие -- другого, то мне, как лично незатронутому этим вопросом, проще ничего не делать.
Так что просьба заинтересованным искать консенсус.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114019</commentid>
    <comment_count>17</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2010-10-20 09:05:09 +0400</bug_when>
    <thetext>Дим, уже же нашли консенсунс.

в конфигурационном файле прописать переменную USE_I18N и если она есть, то использовать ~/.i18n, если нет - не использовать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114020</commentid>
    <comment_count>18</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2010-10-20 09:07:59 +0400</bug_when>
    <thetext>Странно что автор предложения по игнорированию локальных настроек отмалчивается.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114036</commentid>
    <comment_count>19</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2010-10-20 12:46:07 +0400</bug_when>
    <thetext>(In reply to comment #17)
&gt; в конфигурационном файле прописать переменную USE_I18N и если она есть, то
&gt; использовать ~/.i18n, если нет - не использовать.

В каком конфигурационном файле?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114037</commentid>
    <comment_count>20</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2010-10-20 13:11:28 +0400</bug_when>
    <thetext>Можно в том же /etc/sysconfig/i18n, но тогда придётся делать какую-то обвязку, сохраняющую старые значения переменных.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119313</commentid>
    <comment_count>21</comment_count>
    <who name="swi">swi</who>
    <bug_when>2011-03-16 22:23:14 +0300</bug_when>
    <thetext>приехали, здрасти.
уже месяца 3 сижу на gdm и сегодня после d-u опаньки.
В самом gdm усе русское, но гном уже locale = C
При запуске через login &amp;&amp; startx все в положеной utf-8.

Какая зараза где что оторвала?
~/.i18n не имел с принятия в комсомо^Wгода с 2006го.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119323</commentid>
    <comment_count>22</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2011-03-17 12:47:15 +0300</bug_when>
    <thetext>Вы предлагаете делать ручки по управлению ручками контроля над ручками?
Я против чрезмерной косвенности.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125708</commentid>
    <comment_count>23</comment_count>
    <who name="Lenar Shakirov">shakirov</who>
    <bug_when>2011-09-27 09:43:23 +0400</bug_when>
    <thetext>(В ответ на комментарий №5)
&gt; 1. Я не использую &quot;su -&quot;.
&gt; 2. Как вы предлагаете удовлетворить несоместимые желания одновременно?  Сделать
&gt; поведение конфигурируемым?

А это нормально:

login as root
# locale | grep LANG
LANG=POSIX
# su - &lt;username&gt;
$ locale | grep LANG
LANG=POSIX

but if login as &lt;username&gt;
$ locale | grep LANG
LANG=ru_RU.utf8

?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126042</commentid>
    <comment_count>24</comment_count>
    <who name="Lenar Shakirov">shakirov</who>
    <bug_when>2011-10-06 16:18:30 +0400</bug_when>
    <thetext>*** Bug 26423 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126044</commentid>
    <comment_count>25</comment_count>
    <who name="Lenar Shakirov">shakirov</who>
    <bug_when>2011-10-06 16:19:34 +0400</bug_when>
    <thetext>Дмитрий, ответьте, пожалуйста...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126045</commentid>
    <comment_count>26</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2011-10-06 16:24:15 +0400</bug_when>
    <thetext>(In reply to comment #23)
&gt; (В ответ на комментарий №5)
&gt; &gt; 1. Я не использую &quot;su -&quot;.
&gt; &gt; 2. Как вы предлагаете удовлетворить несоместимые желания одновременно?  Сделать
&gt; &gt; поведение конфигурируемым?
&gt; 
&gt; А это нормально:
&gt; 
&gt; login as root
&gt; # locale | grep LANG
&gt; LANG=POSIX
&gt; # su - &lt;username&gt;
&gt; $ locale | grep LANG
&gt; LANG=POSIX
&gt; 
&gt; but if login as &lt;username&gt;
&gt; $ locale | grep LANG
&gt; LANG=ru_RU.utf8
&gt; 
&gt; ?

Да, я полагаю что это вполне допустимое поведение (если закрыть глаза на то, что su - &lt;username&gt; не вполне безопасная операция).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126057</commentid>
    <comment_count>27</comment_count>
    <who name="Dank Bagryantsev">4alt</who>
    <bug_when>2011-10-07 10:37:57 +0400</bug_when>
    <thetext>(В ответ на комментарий №26)
&gt; Да, я полагаю что это вполне допустимое поведение (если закрыть глаза на то,
&gt; что su - &lt;username&gt; не вполне безопасная операция).

Согласно man su :
&quot;giving the argument flag -, su is instructed to invoke the shell as a login shell&quot;. Т.е. по логике, результат su - должен быть аналогичен, как если бы вошли под username с консоли сервера. А сейчас мы имеем другое поведение.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126094</commentid>
    <comment_count>28</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2011-10-09 21:11:08 +0400</bug_when>
    <thetext>(In reply to comment #27)
&gt; (В ответ на комментарий №26)
&gt; &gt; Да, я полагаю что это вполне допустимое поведение (если закрыть глаза на то,
&gt; &gt; что su - &lt;username&gt; не вполне безопасная операция).
&gt; 
&gt; Согласно man su :
&gt; &quot;giving the argument flag -, su is instructed to invoke the shell as a login
&gt; shell&quot;. Т.е. по логике, результат su - должен быть аналогичен, как если бы
&gt; вошли под username с консоли сервера. А сейчас мы имеем другое поведение.

С другой стороны, результат &quot;su -&quot; аналогичен логину с консоли в той части, которая касается &quot;login shell&quot;.  Остальное - это вопрос вариантов трактовки, которых по данному вопросу две.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>