Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
48
Help us understand the problem. What is going on with this article?
@fuwamaki

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内にあるファイルを見にいっていますね。

まとめ

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

48
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
fuwamaki
小さいスタートアップ企業で、アプリ開発してます。
street-academy
教えたいと学びたいをつなぐまなびのマーケット「ストアカ 」を運営するスタートアップ

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
48
Help us understand the problem. What is going on with this article?