Не удается изменить локаль на сервере 16.04

ss64.com, кажется, имеет лучшую ссылку, которую я нашел.

Он объясняет следующие переменные:

\d   The date, in "Weekday Month Date" format (e.g., "Tue May 26"). 

\h   The hostname, up to the first . (e.g. deckard) 
\H   The hostname. (e.g. deckard.SS64.com)

\j   The number of jobs currently managed by the shell. 

\l   The basename of the shell's terminal device name. 

\s   The name of the shell, the basename of $0 (the portion following 
    the final slash). 

\t   The time, in 24-hour HH:MM:SS format. 
\T   The time, in 12-hour HH:MM:SS format. 
\@   The time, in 12-hour am/pm format. 

\u   The username of the current user. 

\v   The version of Bash (e.g., 2.00) 

\V   The release of Bash, version + patchlevel (e.g., 2.00.0) 

\w   The current working directory. 
\W   The basename of $PWD. 

\!   The history number of this command. 
\#   The command number of this command. 

\$   If you are not root, inserts a "$"; if you are root, you get a "#"  (root uid = 0) 

\nnn   The character whose ASCII code is the octal value nnn. 

\n   A newline. 
\r   A carriage return. 
\e   An escape character. 
\a   A bell character.
\\   A backslash. 

\[   Begin a sequence of non-printing characters. (like color escape sequences). This
     allows bash to calculate word wrapping correctly.

\]   End a sequence of non-printing characters.

\[ ... \] определяет серию не- печать символов. Они должны правильно отслеживать положение курсора.

\e в вашем приглашении запускает escape-последовательность. Подробнее об этих ss64.com (примечание «Esc» на этой странице - последовательность \e).

Примечание. Мне никогда не нравились escape-последовательности. Используйте tput, чтобы получить код выхода для вас.

${debian_chroot:+($debian_chroot)} - расширение параметра. См. Здесь

Примечание. Мне никогда не нравились escape-последовательности. Используйте tput, чтобы получить код выхода для вас.

1
задан 10 May 2016 в 20:08

2 ответа

Выполните следующие команды:

locale-gen en_US.UTF-8
dpkg-reconfigure locale
dpkg-reconfigure keyboard-configuration
localedef -i en_US -c -f UTF-8 en_US.UTF-8
reboot
locale
5
ответ дан 23 May 2018 в 11:15
  • 1
    Не работает. locale все еще показывает POSIX для всего – David Stockinger 10 May 2016 в 18:12
  • 2
    Я предполагаю, что вы использовали root для запуска этих команд? Я не пытаюсь оскорбить, просто хочу быть уверенным. – Videonauth 10 May 2016 в 18:15
  • 3
    Да, конечно. Не было сообщений об ошибках или ничего подобного. – David Stockinger 10 May 2016 в 18:22
  • 4
    Вы имели в виду локали? – realtebo 13 July 2016 в 14:20
  • 5
    Я делаю это, и, похоже, это «dpkg-reconfigure locales». то все будет работать. – Hugo 30 July 2016 в 15:51

То, что я в итоге сделал, это комбинация вышеописанных методов

Сначала я сделал

dpkg-reconfigure locales

и chosed english, utf8, затем:

localedef -i en_US -c -f UTF-8 en_US.UTF-8

Также отредактирован / etc / default / locale, чтобы выглядеть так:

LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
LANGUAGE=en_US.UTF-8

И после перезагрузки, когда я набираю / etc / default / locale , теперь он выглядит так :

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.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=en_US.UTF-8

И больше никаких предупреждений ...

3
ответ дан 23 May 2018 в 11:15

Другие вопросы по тегам:

Похожие вопросы: