ターミナルを使っていて、コマンドのオプションをさくっと確認したい時あると思います。
そんな時 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 #インストール前の設定
色々設定してくれと言われます。
- インストール先を
/usr/local/share/man/ja_JP.UTF-8
に - 圧縮形式は
0
のnone - ユーザ名はデフォルトだと
root
- グループ名はデフォルトだと
wheel
- OKでよければ
c
- インストールするmanページを選ばない人はenter連打
- OKでよければ
c
- インストールするmanページを選ばない人はenter連打
- 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
内にあるファイルを見にいっていますね。
まとめ
ここまでだと、すべてのコマンドに対応しているわけではないです。
今の状態だと、日本語マニュアルがあれば日本語表示、なければ英語表示になってます。
後日更新したい気持ちです。