当我SSH到一个Arch Linux服务器,并包括一个命令行,我结束了一个POSIX语言环境:
laptop.lan$ ssh server.lan locale LANG= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL= laptop.lan$
据我所知,区域设置正确的服务器上。 /etc/locale.conf看起来像这样:
LANG=en_US.UTF-8
而且,当我正常SSH,我的区域设置是好的:
laptop.lan$ ssh server.lan server.lan$ locale LANG=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= server.lan$
这里发生了什么,我怎样才能使一次性命令使用我的首选语言环境呢?
我刚刚注意到,当我将fish ( chsh )设置为默认( chsh )时发生问题。 当我把我的shell改回bash时,语言环境按预期工作。
所以:
chsh /bin/bash