Vagrant の CentOS 7 にて日本語設定

# 動機.
Vagrant の box を拾ってきて入れてみたら…

> php: Kommando nicht gefunden.

**何でドイツ語なんだよ！！！！**
となったから.

# まずは現在の設定を確認する.

```bash
$ localectl status                                                                                                                                                                                                                     
   System Locale: LANG=en_US.utf8
       VC Keymap: de
      X11 Layout: de
       X11 Model: pc105
     X11 Options: terminate:ctrl_alt_bksp
```

何を言っているんだと.
`System Locale` が `en_US` なのに `de` なの…？
いや、そもそもなんで初期設定が de ??
というわけで、まずは Locale から変更していきましょう.

# System Locale の変更.

何に変更できるのか、確認してみる.

```bash
$ localectl list-locales | grep ja
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc
```

おぉ、結構数がある.
ログの出力に UTF8 で使いたいので、ここでは ja_JP.utf8 で設定しておく.

```bash
$ localectl set-locale LANG=ja_JP.utf8
```

これで確認してみる.

```bash
$ localectl status                                                                                                                                                                                                                                        
   System Locale: LANG=ja_JP.utf8
       VC Keymap: de
      X11 Layout: de
       X11 Model: pc105
     X11 Options: terminate:ctrl_alt_bksp
```

よしよし、とりあえず System Locale は日本語にしたぞ.
次は VC Keymap だ.

# VC Keymap の変更.

一旦、何が設定できるのか確認してみる.

```bash
$ localectl list-keymaps | grep jp                                                                                                                                                                                                                        
jp
jp-OADG109A
jp-dvorak
jp-kana86
jp106
```

106 キーボード使える. よしこれで行こう.

```bash
$ localectl set-keymap jp106
```

これで再度確認してみる.

```bash
$ localectl status
   System Locale: LANG=ja_JP.utf8
       VC Keymap: jp106
      X11 Layout: jp
       X11 Model: jp106
     X11 Options: terminate:ctrl_alt_bksp
```

おー、完璧.
あとは再起動するなりして設定値を反映したら完了です. (私の場合は一旦 exit してからリモートログインしなおしたら反映されてました)

# というわけでまとめ.

1. `status` で現状確認.
2. `list-locales` で設定できるロケールの確認、`list-keymaps` で設定できるキーマップの確認.
3. `set-locale` でロケール設定、`set-keymap` でキーマップの設定.

以上！

## おまけ

実際に `localectl help` の内容を以下に書いておきますので、参考までに.
出力は加工してあります.
括弧内が原文、日本語は私が勝手につけています.(英語が苦手なので間違っていたら申し訳ない…)

```bash
$ localectl help
localectl [OPTIONS...] COMMAND ...

# システムロケールとキーボードの設定の確認や変更を行う. (Query or change system locale and keyboard settings.)

  -h --help                # ヘルプの表示. (Show this help)
     --version             # パッケージバージョンの表示. (Show package version)
     --no-convert          # キーボードマッピングの変更を行わない. (Don't convert keyboard mappings)
     --no-pager            # ページャを起動しない. (Do not pipe output into a pager)
  -P --privileged          # 実行前に特権を取得する. (Acquire privileges before execution)
     --no-ask-password     # パスワード入力を求めさせない. (Do not prompt for password)
  -H --host=[USER@]HOST    # 操作をリモートで実行する. (Operate on remote host)

Commands:
  status                   # 現在のロケール設定を表示する. (Show current locale settings)
  set-locale LOCALE...     # システムロケールを設定する. (Set system locale)
  list-locales             # 既知のロケールを表示する. (Show known locales)
  set-keymap MAP [MAP]     # バーチャルコンソールキーボードマッピングを設定する. (Set virtual console keyboard mapping)
  list-keymaps             # 既知のバーチャルコンソールキーボードマッピングを表示する. (Show known virtual console keyboard mappings)
  set-x11-keymap LAYOUT [MODEL] [VARIANT] [OPTIONS]
                           # X11 キーボードマッピングを設定する. (Set X11 keyboard mapping)
  list-x11-keymap-models   # 既知の X11 キーボードマッピングモデルを表示する. (Show known X11 keyboard mapping models)
  list-x11-keymap-layouts  # 既知の X11 キーボードマッピングレイアウトを表示する. (Show known X11 keyboard mapping layouts)
  list-x11-keymap-variants [LAYOUT]
                           # 既知の X11 キーボードマッピング変数を表示する. (Show known X11 keyboard mapping variants)
  list-x11-keymap-options  # 既知の X11 キーボードマッピングオプションを表示する. (Show known X11 keyboard mapping options)
```

それでは良きエンジニアライフを(^w^)ﾉｼ