Macのmanコマンドの表示を日本語にしてみた

スポンサーリンク
使ってみた
スポンサーリンク
スポンサーリンク

どうやら日本語版のmanページというものがあるらしい

 コマンドのマニュアルを表示するmanページは英語で表示されますが、日本語版は無いものだろうかと調べてみると、どうやら日本語版のmanページをインストールすることが可能であると分かりました。
 日本語版の存在を知ることになったきっかけは、macのシェルをbashからzshにアップデートした時に「man zsh」の中身を必死に訳したことです。途中で「これってもしかして日本語版があるのでは・・・?」と思い立ち、日本語版のmanページについて色々調べた結果、その存在にたどり着くことができました。
「man zsh」に関する記事は以下のリンクを参考にしてください。

 日本語版のmanページは、以下の「JM Project」からダウンロードできます。

http://linuxjm.osdn.jp/download.html

 クリックしてダウンロードするか、ターミナル上で以下のコマンドを実行してダウンロードします。
 ※man-pages-ja-20210115.tar.gz の名称は、時期のよって変わると思うので、最新のものをダウンロードしてください。

curl -0 http://linuxjm.osdn.jp/man-pages-ja-20210115.tar.gz

 ダウンロードが完了したら、ファイルを解凍します。GUI上でクリックして解凍するか、ターミナル上で以下のコマンドを実行して解凍します。

tar xfz man-pages-ja-20210115.tar.gz

日本語版manページをインストールするが・・

 解凍したら、「README」ファイルを見て、インストール方法を確認します。インストールについては「INSTALL」ファイルを見てください、と「README」に記載されていたので、「INSTALL」ファイルを確認します。インストールの流れは以下の通りです。

①展開したディレクトリで以下のコマンドを実行し、質問に答えていきます。

make config

②設定が完了したら、以下のコマンドでrootユーザになります。

su

③以下のコマンドを実行して、インストールを行います。

make install

 指示通り③のインストールを実施しましたが、色々エラーが出ている様子でした・・。
インストールが完了しているか確認するためにmanコマンドを「man ls」等で実行してみましたが、表示されたのは英語のマニュアルでした。インストールは失敗したようです。

mkdirしようとするとRead-only file systemと表示されてしまう!

エラー内容を確認

 エラー出力を確認したところ、以下のように表示されていました。

mkdir: /usr/share/man/ja_JP.UTF-8: Read-only file system
chown: root.wheel: illegal user name
mkdir: /usr/share/man/ja_JP.UTF-8/man1: Read-only file system
chown: root.wheel: illegal user name
mkdir: /usr/share/man/ja_JP.UTF-8/man2: Read-only file system
chown: root.wheel: illegal user name
mkdir: /usr/share/man/ja_JP.UTF-8/man3: Read-only file system
chown: root.wheel: illegal user name
・・・・・(以下略)

 どうやら、マニュアルをインストールするためのディレクトリ作成を最初に行っていますが、その段階でエラーが発生しているらしいです。

手動でディレクトリを作ってみる【失敗】

 manディレクトリのパーミッションは755なので、本来ならばrootユーザでディレクトリの作成ができるはずです。

mkdir ja_JP.UTF-8

 しかし、ここでも「Read-only file system」と表示されてしまいます。
ディレクトリの作成自体が無理みたいです。

SIPを無効化してみる【失敗】

 MacのSIP機能を無効化すれば、ディレクトリの作成ができるようになるかもしれない!と考え、実施しましたが、これも失敗しました。実施した流れは以下の通りです。

①Macの再起動ボタンを押した後、Commandキー(⌘)とRキーを同時に押し続けて、MacOS復旧のシステムを起動させます。

②ユーティリティから「ターミナル」を選択し、以下のコマンドを実行します。

csrutil disable

③再起動をして、SIP機能が無効化したことを確認します。

csrutil status

④/usr/share/man 配下にmkdirコマンドでディレクトリを作成してみるが、やはり「Read-only file system」と表示されてしまいました。

⑤再度MacOS復旧システムを起動して、次はターミナルで、以下のコマンドを入力します。再起動後は、再度statusを確認して、SIPが有効化していることを確認します。

csrutil enable

インストール先を変えてみる【成功】

 色々調べてみると、MacOSはCatalina以降、システムボリュームに新しいファイルを作成しようとすると、「Read-only file system」と表示されるそうです。※現在使っているmacOSはBigSur

macOS Catalina の読み取り専用のシステムボリュームについて - Apple サポート (日本)
macOS Catalina は、Mac 上のほかのファイルとは切り離された読み取り専用のシステムボリュームで実行されます。Catalina にアップグレードすると、2 つ目のボリュームが作成され、ファイルによっては一部「Relocated Items」に移動する場合があります。 

 そこで、インストール先を「/usr/share/man/ja_JP.UTF-8」から「/usr/local/share/man/ja_JP.UTF-8」に変更することにしました。

 「make install」を実施する「installman.sh」を開いて、「/usr/share/man/ja_JP.UTF-8」を全て「/usr/local/share/man/ja_JP.UTF-8」に置き換えます。

 これで、「make install」を実行すると・・・、無事にエラー無く実行することができました!

無事インストールできたがmanページが表示されない!

 無事にインストールは完了しましたが、「man ls」を実行すると、今度は英語も日本語も表示されなくなってしまいました。

 そこで以下のサイトを参考にして、manコマンドの日本語対応を行いました。
https://qiita.com/fuwamaki/items/fbe7483444261e2425fe

/etc/man.confの修正

 /etc/man.confを以下の通り修正します。修正前に、元のファイルの複製を作っておくと安心です。

cd /etc/
cp man.conf man.conf.org
vi man.conf

[i]で編集モード
JNROFF    /usr/bin/groff -Tnippon -mandocj -c
JNROFF    /usr/local/bin/groff -Dutf8 -Tutf8 -mandoc -mja -E

#PAGER     /usr/bin/less -is
PAGER     /usr/bin/less -isr
#BROWSER   /usr/bin/less -is
BROWSER   /usr/bin/less -isr

[esc]を押した後、:wqで保存します。

groffのバージョンアップ

 以下のコマンドで、groffの最新バージョンをインストールします。groffとは、ドキュメントフォーマットシステムのプログラムだそうです。

brew install groff

 以下のコマンドで、インストールされていることを確認します。

groff -v

無事成功!そして・・・

 ここで、「man ls」を実行してみたところ・・・、日本語のマニュアルが表示されました!
 ところで、日本語版をインストールするきっかけになった「zsh」のマニュアルですが、こちらは日本語バージョンがまだ存在していないらしく、「man zsh」を実行すると、英語版が表示されました。zshのマニュアルを必死に訳していた時間は、そんなに無駄ではなかったようです。

使ってみた
スポンサーリンク
スポンサーリンク
bond.motherをフォローする
スポンサーリンク
ProgrammingのMITA!

コメント

プロフィール

当ブログの管理者。主にインフラエンジニアとして仕事をしています。

bond.motherをフォローする
タイトルとURLをコピーしました