Odpowiedzi:
Umieszczam następujące ustawienie dotyczące ustawień regionalnych w /etc/bashrc
(dla wszystkich użytkowników bash
):
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_COLLATE=C
export LC_CTYPE=en_US.UTF-8
następnie uruchomić:
source /etc/bashrc
lub wyloguj się i zaloguj.
lang.sh
i zadziałało 👍.
Biegać
yum reinstall glibc-common
a następnie upewnij się, że żaden proces nie usuwa plików /usr/lib/locale/locale-archive.*.
glibc-langpack-<language>
np glibc-langpack-en
.
Otrzymałem ten sam błąd w systemie MacOS. Kiedy ssh do Linux-a, odmawia ustawienia UTF-8
ustawień regionalnych. Możesz zobaczyć różnice w ustawieniach regionalnych, uruchamiając locale
polecenie na terminalu MacOS i Linux.
Aby naprawić ten błąd, otwórz terminal -> preferencje -> profile -> Zaawansowane i rozbrojone Set locale environment variables on startup
na komputerze Mac.
Teraz, gdy działasz locale
na komputerze Mac. widać, że ta zmiana ustawił LC_CTYPE="C"
który był LC_CTYPE="UTF-8"
z poprzedniego ustawienia.
będziesz musiał zamknąć terminal, aby uzyskać ten efekt, a teraz zaloguj się do swojego Linux-a i uruchom yum update
.
Mam nadzieję, że to pomoże :)
Jeśli korzystałeś z SSH do łączenia się z tym hostem z komputera stacjonarnego, zwykle /etc/ssh/sshd_config
zawiera
AcceptEnv LANG LC_*
co pozwala klientom propagować wartości tych zmiennych środowiskowych do nowych sesji. Spowoduje to jednak, że zmienne ustawień narodowych zostaną przywrócone do stanu pustego w ramach sesji SSH na konfigurowanym serwerze, jeśli ustawienia narodowe nie zostaną najpierw poprawnie ustawione NA TWOJEJ KOMPUTERZE .
Naprawić:
Na przykład w oknie Ubuntu Shell systemu Windows 10 najpierw wykonaj ( UWAGA: zmień wszystkie poniższe wpisy, aby pasowały do ustawień regionalnych, jeśli nie jest to „en_US.UTF-8” ):
sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales
Następnie zamknij okno powłoki Ubuntu i ponownie otwórz, a następnie SSH na serwerze, który próbujesz skonfigurować, i sprawdź, czy wszystko jest w porządku ...
Jeśli nie, włącz SSH do swojego serwera i wykonaj:
vi /etc/profile.d/custom.lang.sh
Następnie naciśnij, I
aby przejść do trybu „wstaw”. Następnie wklej poniższe wpisy. Następnie, ZZ
aby zapisać i wyjść:
## US English ##
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8
Następnie wykonaj następujące czynności:
source /etc/profile.d/lang.sh
source /etc/profile.d/custom.lang.sh
Następnie:
reboot
Sprawdź, czy to sprawi, że wszystko przestanie narzekać na zmienne regionalne!
/etc/profile.d/lang.sh
i nie do/etc/bashrc
którego prawdopodobnie zostanie nadpisana aktualizacja.