Ubuntu

如何在 Debian/Ubuntu 上以非互動方式設置語言環境?

  • February 4, 2021

通常,我執行aptitude -y install locales然後dpkg-reconfigure locales設置語言環境。

現在我想把它放到一個shell腳本中,我怎樣才能可靠地自動/非互動地執行以下操作?

  • 選擇en_US.UTF-8並將其設置為系統預設值
  • 禁用所有其他語言環境
  • (可選)驗證是否包含如預期/etc/default/locale的唯一條目LANG=en_US.UTF-8

請參閱locale-gen

locale-gen --purge en_US.UTF-8

echo -e 'LANG="en_US.UTF-8"\nLANGUAGE="en_US:en"\n' > /etc/default/locale

無法得到@stone 的工作答案。相反,我使用這種方法(對於 Dockerfiles):

# Configure timezone and locale
echo "Europe/Oslo" > /etc/timezone && \
   dpkg-reconfigure -f noninteractive tzdata && \
   sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
   sed -i -e 's/# nb_NO.UTF-8 UTF-8/nb_NO.UTF-8 UTF-8/' /etc/locale.gen && \
   echo 'LANG="nb_NO.UTF-8"'>/etc/default/locale && \
   dpkg-reconfigure --frontend=noninteractive locales && \
   update-locale LANG=nb_NO.UTF-8

引用自:https://serverfault.com/questions/362903