68
54

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-08-08

ターミナルを使っていて、コマンドのオプションをさくっと確認したい時あると思います。
そんな時 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内にあるファイルを見にいっていますね。

まとめ

ここまでだと、すべてのコマンドに対応しているわけではないです。
今の状態だと、日本語マニュアルがあれば日本語表示、なければ英語表示になってます。
後日更新したい気持ちです。

68
54
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
68
54

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?