Edited at

manコマンドの表示を日本語化した話

More than 1 year has passed since last update.

ターミナルを使っていて、コマンドのオプションをさくっと確認したい時あると思います。

そんな時 man コマンドは非常に便利です。

$ man [コマンド] でコマンドの説明(manual)一覧が見れます。

でもデフォルトだと英語なんですよね。そこで日本語にした話をします。

参考: http://tukaikta.blog135.fc2.com/blog-entry-224.html


実行環境


  • OS: MacOS v10.13

  • Terminal: iTerms

  • Shell: zsh


manコマンドの表示を日本語化する


1. groffをインストール

brewでgroffをインストールします。

groffとは、GNUの、文書整形を行うコマンド(roff)です。

macではgroffが既存で入っています、 $ groff -v で確認できます。

ただ、文字化け等しないよう最新版にしておきます。

$ brew install groff

/usr/local/bin/groff が存在することを確認します。


2. /etc/man.conf の内容を修正

まだ groff コマンドを打っても、既存バージョンを利用する設定になっています。

設定ファイル /etc/man.conf を変数しましょう。

$ sudo vi /etc/man.conf

通常だとread-onlyになっているので、sudoで管理者権限にします。

内容を修正します。

#groffコマンドで、インストールした最新バージョンを利用するように。

95 JNROFF /usr/bin/groff -Tnippon -mandocj -c #<-コメントアウトor削除
JNROFF /usr/local/bin/groff -Dutf8 -Tutf8 -mandoc -mja -E

#文書整形を日本語対応に。
105 PAGER /usr/bin/less -is #<-コメントアウトor削除
PAGER /usr/bin/less -isr
106 BROWSER /usr/bin/less -is #<-コメントアウトor削除
BROWSER /usr/bin/less -isr

$ groff -v が最新バージョンになったことを確認します。


3. 日本語のmanページをダウンロード

前提ですが、manコマンドの表示を日本語化するという意味は、

× manで表示される文章が日本語化される

○ manで表示される文章が、英語版ではなく日本語版を表示するようになる

です。英語版のmanualテキストは既にmacに入っていますが、

日本語版は入っていません。下記コマンドでインストールする必要があります。

$ curl -O http://linuxjm.osdn.jp/man-pages-ja-20180715.tar.gz

上記URL日付部分は、さらに更新になっている可能性があります。

マニュアルアーカイブのダウンロードサイトにて最新版を確認してください。


4. ダウンロードしたファイルを解凍し、インストール

下記順番に実施します。

ダウンロードしたファイルの INSTALL ファイルにも記載されています。

$ tar xfz man-pages-ja-acl-20180715.tar.gz #解凍

$ cd man-pages-ja-20180715 #ファイル階層移動
$ ls #Makefileがあることを確認
$ make config #インストール前の設定

色々設定してくれと言われます。


  1. インストール先を/usr/local/share/man/ja_JP.UTF-8

  2. 圧縮形式は 0 のnone

  3. ユーザ名はデフォルトだと root

  4. グループ名はデフォルトだと wheel

  5. OKでよければ c

  6. インストールするmanページを選ばない人はenter連打

  7. OKでよければ c

  8. インストールするmanページを選ばない人はenter連打

  9. OKでよければ c

そして、インストールを実行します。

$ sudo make install

※sudo付けないでできるかもしれませんが、

permission denied が表示されたらsudoが必須です。

/usr/local/share/man/ja_JP.UTF-8 のフォルダを見に行って、

manualファイルが格納されていることを確認します。


環境変数のLANGを修正

これだけでは、manコマンドで日本語マニュアルが表示できません。

環境変数を確認してみます。

$ echo $LANG

en_US.UTF-8

まだ英語表記を参照するようになってます。修正します。

$ export export LANG=ja_JP.UTF-8

ターミナル起動時のデフォルトで設定したい場合は、

上記のexport文を .zshrcなどの設定ファイルに記載します。


動作確認

ls のマニュアルを確認してみます。

$ man ls #動作確認

$ man ls -w #参照しているマニュアルの階層を表示
/usr/local/share/man/ja_JP.UTF-8/man1/ls.1

ちゃんと $ make config で設定した

/usr/local/share/man/ja_JP.UTF-8内にあるファイルを見にいっていますね。


まとめ

ここまでだと、すべてのコマンドに対応しているわけではないです。

今の状態だと、日本語マニュアルがあれば日本語表示、なければ英語表示になってます。

後日更新したい気持ちです。