無題の備忘録

IT技術について調べたことや学んだこと、試したこと記録するブログです。Erlang、ネットワーク、 セキュリティ、Linux関係のものが多いです。

Docker で byobu を起動しようとしたら locale で怒られた

Docker 内でいろいろいじって遊んでいると複数のターミナルウィンドウが欲しくなりますが、ターミナルウィンドウを得るために docker exec を実行するのは面倒なので byobu をインストールしました。

# apt update && apt install -y byobu

byobu をインストールした後、起動しようとしたところ、下記のように locale に UTF-8 が必要らしく、怒られました。

# byobu
tmux: need UTF-8 locale (LC_CTYPE) but have ANSI_X3.4-1968

現在のロケールはこんな感じ。POSIXが設定されている。

# locale
LANG=
LANGUAGE=
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=

利用可能なロケールを表示したところ、C.UTF-8があります。

# locale -a
C
C.UTF-8
POSIX

これを設定します。

# export LANG=C.UTF-8
# locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=

設定後、無事に byobu を起動できました。