连接到 raspberry 时的 bash ssh 警告:setlocale:LC_ALL:无法更改区域设置 (en_US.UTF-8)

mir*_*nd4 9 bash ssh locale raspberry-pi raspbian

例如,我尝试过这个来解决我的问题,这也是。

我的问题是,当我尝试连接到 Raspberry pi2 时,收到以下消息:

Linux raspberrypi 3.18.7-v7+ #755 SMP PREEMPT Thu Feb 12 17:20:48 GMT 2015 armv7l

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.
Last login: Sat Mar 21 13:25:48 2015 from 192.168.10.1
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
Run Code Online (Sandbox Code Playgroud)

不用说,当我尝试进行“apt-get 升级”或尝试在我的树莓派中安装新应用程序时,我遇到了与语言相关的错误。这就是为什么我开始寻找解决方案......

一些附加信息:

当我在树莓派上输入“locale”时,我收到以下消息:

pi@raspberrypi ~ $ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
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
Run Code Online (Sandbox Code Playgroud)

如果我在我的笔记本电脑上编写相同的命令(我想从这台笔记本电脑连接到树莓派ssh):

mirind4@mirind4-pc:~$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=
Run Code Online (Sandbox Code Playgroud)

Arc*_*mar 14

ssh 会将“一些”环境变量从 mirind4-pc 转发到 raspberry,其中包括“locale”变量(用于打印友好的日期和数字)。

根据Raspian和Ask Unbuntu上的 misc 链接,您可能需要生成本地语言环境。从我猜

sudo locale-gen de_DE.UTF-8
sudo dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)

您可以立即使用

foo:~$ LC_TIME=de_DE.UTF-8 date +%A%B
SamstagMärz
Run Code Online (Sandbox Code Playgroud)

我没有我的 raspian,但这适用于我的 ubuntu

  • Debian 和 Ubuntu 以不同的方式执行此操作。`locale-gen en_US.utf8` 是 Ubuntu 的方式;在 Debian 上,这不会改变系统配置,只会改变一些无害的东西。`dpkg-reconfigure locales` 在 Ubuntu 上没有任何用处,并提供了一个界面来选择要在 Debian 上生成的语言环境。 (3认同)