更新
我发现了问题。设置语言变量后我需要重新登录。但我想知道的是:我如何在流浪脚本中重新登录?这可能吗?
介绍
我已经在其他线程上读到过这个问题
但这并没有真正帮助我。接受的答案询问所需语言的行是否未注释(/etc/locale.gen
在我的情况下),但它仍然不起作用。
我想要实现的目标
我正在构建一个 Vagrant 盒子,debian/jessie64
它应该自动将语言变量设置为德语。我的 vagrant 文件夹中有locale.gen
一个文件,应该/etc/locale.gen
用此命令替换默认的文件
sudo cp /var/www/project/www/vagrant_ressources/locale.gen /etc/
这些是内容locale.gen
de_DE ISO-8859-1
de_DE.UTF-8 UTF-8
de_DE@euro ISO-8859-15
en_US.UTF-8 UTF-8
之后我用 重新生成当地人sudo locale-gen
。这是输出
Generating locales (this might take a while)...
de_DE.ISO-8859-1... done
de_DE.UTF-8... done
de_DE.ISO-8859-15@euro... done
Generation complete.
现在我正在尝试安装软件包sudo apt-get install -y php7.0-fpm
并收到警告
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "de_DE.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
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
为什么会de_DE.UTF-8
出现在那里?我也想在不使用的情况下执行此操作,dpkg-reconfigure
因为这是一个无需用户输入即可完成所有操作的脚本。只需dpkg-reconfigure
创建locale.gen
文件,仅此而已,对吧?
另外,当使用sudo dpkg-reconfigure locales
我自己的文件中的条目时locale.gen
,已经选择了。所以这似乎是这个作品的一部分。
输入locale -a
这些是结果
C
C.UTF-8
de_DE
de_DE@euro
de_DE.iso88591
de_DE.iso885915@euro
de_DE.utf8
deutsch
german
POSIX
答案1
此刻的你看似变了,LC_CTYPE
却又没有变LANG
确保您更新/etc/default/locale
正确。然后你就可以source /etc/default/locale
在运行 locale-gen 之后。