Страница 1 из 1
смена дефаултной локали
Добавлено: 27 дек 2019, 17:30
Olej
Вопрос состоит в том, что большинство хостеров, предоставляющих виртуальные VDS для WEB хостинга, устанавливают системы Linux с англоязычными локалями (по умолчанию, а зачастую и только такими).
Это относится и к хостингу этого форума на
https://timeweb.com/ru/services/vds/.
Такая локаль неудобна при SSH подключению к серверу из рабочих Linux с локалью ru_RU.UTF-8 :
Код: Выделить всё
olej@ACER:~$ locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
Неудобна потому, что при наборе и забое символов не на том регистре начинают вылазить различия в 1-байтовых и 2-байтовых символов и их отображении... Ерунда получается.
Меняем...
Re: смена дефаултной локали
Добавлено: 27 дек 2019, 17:39
Olej
Re: смена дефаултной локали
Добавлено: 27 дек 2019, 17:44
Olej
Olej писал(а): ↑27 дек 2019, 17:30
Меняем...
Код: Выделить всё
root@277938:~# grep ru_RU.UTF-8 /etc/locale.gen
# ru_RU.UTF-8 UTF-8
Есть такая локаль в системе - по крайней мере, пакетной системой ничего доставлять не требуется...
Код: Выделить всё
root@277938:~# locale-gen ru_RU.UTF-8
Generating locales (this might take a while)...
en_US.ISO-8859-1... done
Generation complete.
Код: Выделить всё
root@277938:~# locale -a
C
C.UTF-8
en_US
en_US.iso88591
POSIX
Не получилось...
Re: смена дефаултной локали
Добавлено: 27 дек 2019, 17:47
Olej
Olej писал(а): ↑27 дек 2019, 17:44
Не получилось...
А дело в том, что нужную нам локаль (ru_RU.UTF-8) нужно
раскомментировать в /etc/locale.gen:
Код: Выделить всё
root@277938:~# grep ru_RU.UTF-8 /etc/locale.gen
ru_RU.UTF-8 UTF-8
root@277938:~# locale-gen ru_RU.UTF-8
Generating locales (this might take a while)...
ru_RU.UTF-8... done
en_US.ISO-8859-1... done
Generation complete.
Вот теперь то что надо:
Код: Выделить всё
root@277938:~# locale -a
C
C.UTF-8
en_US
en_US.iso88591
POSIX
ru_RU.utf8
Re: смена дефаултной локали
Добавлено: 27 дек 2019, 17:55
Olej
Olej писал(а): ↑27 дек 2019, 17:47
Вот теперь то что надо:
Я хочу, если не ошибаюсь, сменить локаль не а). временно, и не б). при логине пользователя в bash, а перманентно сменить системную локаль.
Воспользуюсь таким (новым) способом:
Код: Выделить всё
root@277938:~# which localectl
/usr/bin/localectl
root@277938:~# localectl set-locale LANG=ru_RU.UTF-8
Смотрим:
Код: Выделить всё
root@277938:~# locale
LANG=en_US
LANGUAGE=
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=
Естественно...
Потому что требуется перезагрузка системы.
Но подготовка локали сделана, чтобы не править это руками:
Код: Выделить всё
root@277938:~# cat /etc/default/locale
LANG=ru_RU.UTF-8
Перезагрузка...
Re: смена дефаултной локали
Добавлено: 27 дек 2019, 17:59
Olej
Olej писал(а): ↑27 дек 2019, 17:55
Перезагрузка...
Код: Выделить всё
root@277938:~# Connection to 185.178.47.95 closed by remote host.
Connection to 185.178.47.95 closed.
...
olej@ACER:~/2019_WORK/own.WORK/rus.linux.net.admin/timeweb$ ./server_connect
Linux 277938.local 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
You have new mail.
Last login: Fri Dec 27 16:59:06 2019 from 193.28.177.119
...
Код: Выделить всё
root@277938:~# locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
Вот теперь то что надо!
смена дефаултной локали
Добавлено: 14 сен 2023, 19:31
Olej
Olej писал(а): ↑27 дек 2019, 17:30
Ерунда получается
После установки Manjaro 23 (возможно, после обновлений) у него вообще чудеса с локалями -
Manjaro Linux
Olej писал(а): ↑14 сен 2023, 19:10
[olej@manjaro ~]$ locale
Код: Выделить всё
LANG=ru_UA.UTF-8
LC_CTYPE="ru_UA.UTF-8"
LC_NUMERIC=uk_UA.UTF-8
LC_TIME=uk_UA.UTF-8
LC_COLLATE="ru_UA.UTF-8"
LC_MONETARY=uk_UA.UTF-8
LC_MESSAGES="ru_UA.UTF-8"
LC_PAPER=uk_UA.UTF-8
LC_NAME=uk_UA.UTF-8
LC_ADDRESS=uk_UA.UTF-8
LC_TELEPHONE=uk_UA.UTF-8
LC_MEASUREMENT=uk_UA.UTF-8
LC_IDENTIFICATION=uk_UA.UTF-8
LC_ALL=
Кто такой uk_UA.UTF-8 вообще?
смена дефаултной локали
Добавлено: 15 сен 2023, 00:41
Olej
Olej писал(а): ↑14 сен 2023, 19:31
Кто такой uk_UA.UTF-8 вообще?
То, как переопределялись дефаултные локали в Manjaro 23 подробно конспектировано здесь -
Manjaro Linux
Было:
Код: Выделить всё
[olej@manjaro ~]$ localectl status
System Locale: LANG=ru_UA.UTF-8
LC_NUMERIC=uk_UA.UTF-8
LC_TIME=uk_UA.UTF-8
LC_MONETARY=uk_UA.UTF-8
LC_PAPER=uk_UA.UTF-8
LC_NAME=uk_UA.UTF-8
LC_ADDRESS=uk_UA.UTF-8
LC_TELEPHONE=uk_UA.UTF-8
LC_MEASUREMENT=uk_UA.UTF-8
LC_IDENTIFICATION=uk_UA.UTF-8
VC Keymap: ru
X11 Layout: us,ru
X11 Options: grp:alt_shift_toggle
Стало:
Код: Выделить всё
[olej@manjaro ~]$ localectl status
System Locale: LANG=ru_UA.UTF-8
VC Keymap: ru
X11 Layout: us,ru
X11 Options: grp:alt_shift_toggle
И опять та же история:
Olej писал(а): ↑27 дек 2019, 17:55
Потому что требуется перезагрузка системы.
Подготовленная смена локали
происходит только после перзагрузки системы