Як встановити всі параметри локалі в Ubuntu


27

У віддаленому встановленому додатку є деякі проблеми з кодуванням, і на моїй локальній машині він працює нормально.

Який найкращий спосіб "скопіювати" мої локалі на віддалену машину?

Локали на моїй персональній машині налаштовані так:

$ locale
LANG=de_DE.UTF-8
LANGUAGE=de_DE:en
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=

1
спеціальна для користувача локаль (для одного користувача) або взагалі для всієї системи?
Савас Радевич,

Відповіді:


13

Найпростіший спосіб

  1. Експортуйте всі локалі у файл

    locale > import

  2. Відкрийте файл і додайте експорт на початку кожного рядка

  3. Зробіть його виконуваним за допомогою команди chmod ugo+rx import

  4. Скопіюйте у потрібний профіль та виконайте ./import


(а) "Скопіювати в потрібний профіль" - чи означає це переміщення файлу додому користувача (b) Це постійне рішення?
Савас Радевич

І яким би був сценарій оболонки, щоб написати імпорт у кожному рядку?
IggyPass

Не працювало для мене. Я спробував це зробити зі свого комп’ютера на інший ssh.
IggyPass

29

Ви можете встановити локаль вручну, використовуючи update-locale:

sudo update-locale LANG=de_DE.UTF-8 LC_MESSAGES=POSIX

Прочитайте сторінку чоловіка для отримання додаткової інформації.

Крім того, ви можете вручну змінити записи локалі вашої системи, змінивши файл /etc/default/locale.

Наприклад, у німецькій системі, щоб запобігти перекладу системних повідомлень, ви можете використовувати:

LANG=de_DE.UTF-8
LC_MESSAGES=POSIX

Примітка: зміни набирають чинності лише після нового входу.

Джерело: https://help.ubuntu.com/community/Locale


Я думаю, що потребує оновлення у локальному просторі sudo. Особисто мені подобається ваше альтернативне рішення, можливо, ви повинні зробити його первинним. :)
Савас Радевич,

оновив його !! :)
зелений

"perl: попередження: Не вдалося встановити локаль." .. Як це виправити?
Sliq

6
Виконайте наступну команду: sudo dpkg-reconfigure locales.
зелений

4

Існують деякі рекомендації під час налаштування локалів на віддалених машинах

1) У машинах Debian (віддалена машина) запустіть команду (як root):

dpkg-reconfigure locales

На першому екрані виберіть потрібні локалі. Після цього вам буде запропоновано вибрати, який є локальним стандартом. Виберіть "немає" (посилання: https://wiki.debian.org/Locale#Standard ).

2) Налаштуйте свою службу ssh ( /etc/ssh/sshd_config) для того, щоб приймати змінні середовища від клієнта: коментуйте рядок:

AcceptEnv LANG LC_*

Перезапустіть ваш ssh-сервер, вийдіть із системи та увійдіть назад та запустіть localeкоманду. Він повинен відповідати місцевій локальній машині


2
Ви сказали "На першому екрані виберіть потрібні локалі", але я протестував на Ubuntu V14.04.2LTS, і весь процес виконується автоматично ( Generating locales...... і пізніше Generation complete.), я не отримую екрана вибору.
Sopalajo de Arrierez

@SopalajodeArrierez ти це вирішив?
Жироль

Що ж, на сьогоднішній день я використовую v16.04 і, дійсно, "перший екран" існує, і я можу вибрати потрібні локалі. Можливо, це була просто проблема з v14.
Sopalajo de Arrierez

Приємно! Вибачте за мою величезну затримку. Я тоді не знав, як користуватися цим інструментом, і з того часу забув про свій рахунок. З повагою.
Жирол
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.