Ubuntu18.04で warning: Settings locale failed. が出るのでLocaleの設定を行って解決する
こんにちは、WSL2のRelease版が待ち遠しいかめねこです。
Localeに関するwarningが出てウザかったので解決した備忘録です。
前置き
WSL2ではファイルシステム周りが大幅に改善されるらしいですね。
ただ、執筆時点ではまだInsider Previewにしか配信されておらず、会社のマシンで使うにはもう少し時間がかかりそうです。
そこで、私はHyper-V上にUbuntuをインストールして、WSL1からSSHして利用しているのですが、例えばapt update
などをするたびに以下のようなwarningが出るようになりました。
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "ja_JP.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
warningが出るだけで特に動作には問題ないのですが、出続けるのも気持ち悪いので修正しました。
環境
- OS: Ubuntu 18.04
- プラットフォーム: Hyper-V
- WSLからSSHで接続
私はLocaleの再設定でなおりました
perl: warning: Setting locale failed.
でググるといっぱい出てきます。
その中にはいろいろな対処法や原因があるのですが、私の場合はタイトル通り、Localeの設定を行うことででなくなりました。
初期状態では入っていなかった(であろう)日本語のLocaleを追加し
> sudo locale-gen ja_JP.UTF-8
[sudo] password for takuma:
Generating locales (this might take a while)...
ja_JP.UTF-8... done
Generation complete.
追加したLocaleから再度Localeを設定します。
> sudo dpkg-reconfigure locales
Generating locales (this might take a while)...
en_US.UTF-8... done
ja_JP.UTF-8... done
Generation complete.
このとき、以下のように様々な言語がつらつらと並んでいるのですが、そのうち(私の場合は)以下の2つにチェックが入っていることを確認します。
多分デフォルトで入ってくれます。
- en_US.UTF-8
- ja_JP.UTF-8
そして、デフォルトの言語を選択します。
en_US.UTF-8
を選択しました。
Generation complete
と出れば完了です。
> sudo dpkg-reconfigure locales
Generating locales (this might take a while)...
en_US.UTF-8... done
ja_JP.UTF-8... done
Generation complete.
適当なコマンド(apt update
とか)を叩いてwarningが出ないことを確認して完了です👍
おわり
人によってはSSHの設定だったりすることもあるようで、一概にこの方法でうまくいくわけではないようです。
ということで、私はこんな方法で直りましたよという備忘録。
Author And Source
この問題について(Ubuntu18.04で warning: Settings locale failed. が出るのでLocaleの設定を行って解決する), 我々は、より多くの情報をここで見つけました https://qiita.com/Kameneko/items/5408e822269de5c3505f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .