--- [管理番号 33] (最終更新 1999/08/08 00:22:36) Q. インストーラのメッセージが英語なんですが、日本語のはありませんか? A. 日本語などの表示が可能な多国語化インストールブートフロッピーがあります。 適切なディスクイメージファイルをダウンロードして、 を参考に、フロッピーディスクにコピーしてください。 --- [管理番号 39] (最終更新 2003/11/17 02:28:48) Q. マニュアルが英語なんですが 日本語のマニュアルはありませんか。 A. マニュアルと言っても、いろいろあります。 o FreeBSD 自体のマニュアル (/usr/share/man 以下にあるもの) o X Window Systemのマニュアル (/usr/X11R6/man 以下にあるもの) o ports/packages でインストールしたプログラムのマニュアル (/usr/local/man 以下にあるもの) FreeBSD 自体のマニュアル FreeBSD 自体の翻訳は jpman プロジェクトが行なっています。 ja-man と ja-man-doc を ports/packages からインストールしてください。 インストールし終わったら % setenv LANG ja_JP.EUC % setenv PAGER jless % jman ls で日本語マニュアルが出るはずです。LANG を ja_JP.EUC にすると、色々問題が 出ることがありますので、 % alias jman env LANG=ja_JP.EUC jman とするのも一つの手です。 ただし、この方法でインストールされたマニュアルファイルの内容の一部が 英語マニュアルと一致してない場合があります。この問題の修正方法については、 を参照して下さい。 日本語マニュアルを常に最新に保つための方法は [管理番号 1864] にあります。 また、この日本語マニュアルを web上から見ることもできます。 X Window System のマニュアル XFree86(1)、xterm(1)、xmodmap(1) など、X Window System 関連のマニュアルは 直接 FreeBSD とは関係ありませんので、上記の jpman には含まれていません。 こちらは X Japanese Documentation Project が翻訳作業を行っています。 ja-xjman という ports/packages をインストールして下さい。 % jman XFree86 で日本語マニュアルが表示されるはずです。 ports/packages でインストールしたプログラムのマニュアル これについては、日本語マニュアルを扱う仕組みは用意されていません。 有名なプログラムなら誰かが翻訳している可能性がありますので、探して みてください。 和訳のマニュアルページを見つけたら、/usr/local/man/ja/man? (? には、 書き込むマニュアルファイルの拡張子の数字を合わせる) にそのファイルを (EUC コードに変換して) コピーを置いて下さい。以後、jman コマンドでそ のファイルを見ることができます。例えば、foo.1 というマニュアルファイ ルを見つけたら、それを /usr/local/man/ja/man1/foo.1 にコピーすれば いいです。 --- [管理番号 132] (最終更新 1999/02/17 23:58:45) Q. biffで 日本語がきちんと表示されない。 A. [FreeBSD-users-jp 378]をご覧下さい。 --- [管理番号 138] (最終更新 1999/02/17 23:58:45) Q. 日本語対応の lynx というものはあるのでしょうか? A. バージョン2.5以降の lynx は既に国際化されています。 (参考: ) 日本語の web ページが化けて表示される場合は、lynx を起動して o (オプション) で display (C)haracter set : Japanese (EUC) Raw 8-bit or CJK m(O)de : ON になっているか確認して下さい。 一応、日本語のブラウズはできる lynx ですが、 TEXTFIELD や TEXTAREA への 入力時 ブックマークへの登録時 に日本語が化けるのを修正したものが、port/packageの japanese/ja-lynx です。 --- [管理番号 166] (最終更新 1999/02/17 23:58:45) Q. 付属の mail コマンドで日本語メールを送ると、mail コマンドに与えたテ キストの文字コードがそのまま出て行ってしまいます。色々と不便なのでどん なコードで書いても自動的に JIS になって出て行って欲しいのですが。 A. 出て行く時に nkf で JIS コードに変換するのがよいでしょう。具体的に は次のようにします。 ・まず,/etc/mail.rc に, set sendmail=/usr/local/bin/sendmail.wrap 等と,一行加える. ・上で指定した,/usr/local/bin/sendmail.wrap として, 以下のようなシェルスクリプトを作成し,実行できるようにしておく. ------ ここから ------ #!/bin/sh /usr/local/bin/nkf -j | /usr/sbin/sendmail $* ------ ここまで ------ --- [管理番号 273] (最終更新 2000/06/25 02:30:31) Q. FreeBSD のインストール時にも使われている ee (easy editor)という エディタがありますが これ 日本語が化けてしまうんですけど。 A. 日本語化されています。ports/japanese/ee にありますので、 ports または packages を使ってインストールしてください。 --- [管理番号 280] (最終更新 2003/05/17 21:39:24) Q. 日本語に対応した a2ps はありませんか。 A. ja-a2ps (ports/japanese/a2ps) を Ports や Packages からインストール してください。 --- [管理番号 284] (最終更新 1999/02/17 23:58:45) Q. jp-man-doc(日本語man)をインストールし、jmanコマンドを実行すると、ペー ジの境目らしき位置に「[m[1m[m」といった文字が現われてページがくっつき、 また、説明の終わりに達すると jmanの処理が終了してしまいます。 A. 環境変数 PAGERを変更すると改ページが正しく行われ、表示は jlessの管 理下で行われます。 cshの場合は次のコマンドを実行します。 setenv PAGER 'jless -s' shの場合は次のコマンドを実行します。 export PAGER='jless -s' --- [管理番号 319] (最終更新 1999/08/08 00:22:59) Q. 自分のマシンの /stand/sysinstall はI18N 版(日本語対応)ではないので、 日本語対応の /stand/sysinstall に入れ換えたいのですが。 A. 以下の方法があります。 1) I18N 版の release のソースから sysinstall をコンパイル & インストー ルする。 2) I18N 版の boot.flp で自分と同一 RELEASE をインストールした人を 見つけて、sysinstall をコピーさせてもらう。:-) 3) 3.x-RELEASE を使っているなら、I18N の mfsroot.flp から抜き出す * 1), 2) の場合は不具合があっても、ln /stand/-sh /stand/sysinstall を 実行すると元の sysinstall に戻せます。 1) の場合 などのサイトからソースを取ってくる。 (release-日付.tar.gz というような名前のものです) 取得ファイルをソースツリーに展開後、環境変数 MAKEOBJDIR を . に設定 して(ex. # setenv MAKEOBJDIR ".")、以下のディレクトリで make を実行。 (注:付属のパッチを termcap に当てておかないといけません) /usr/src/release/libdialog_wc /usr/src/release/libncurses_wc /usr/src/release/sysinstall 以下を /stand 配下にインストール。 sysinstall, help.*/*, I18N/fonts/*.bin, I18N/fonts/kon.*.cfg, messages/messages.* 2) の場合 目的の人をみつけて、1) でインストール対象にされているファイルをコピー する。 3) の場合 おおざっぱな手順を示すと、 /var/tmp/mfsroot.flp に MFS ルートイメージがあるとして、 # vnconfig /dev/vn0 /var/tmp/mfsroot.flp # mount -o ro /dev/vn0c /mnt または既にフロッピーが用意してあるなら、 # mount -o ro /dev/fd0c /mnt として、 # zcat /mnt/mfsroot.gz > /var/tmp/mfsroot # umount /mnt # vnconfig -u /dev/vn0 # vnconfig /dev/vn0 /var/tmp/mfsroot # mount -o ro /dev/vn0c /mnt # rm -rf /stand # tar cf - -C /mnt stand | tar xvfp - -C / # umount /mnt # vnconfig -u /dev/vn0 注意点として、カーネルコンフィグレーションに pseudo-device vn 1 が必要です (GENERICには含まれていません)。 --- [管理番号 358] (最終更新 2001/05/07 03:21:09) Q. 日本語の文章を kterm にカットアンドペーストすると文字化けします。 A. まず、[管理番号 357] を参照してください。 o kterm(1) の漢字コードを EUC か SJIS (Shift-JIS) にします。 o stty(1) を使って pty(4) が 8 bit を通すようにします。 % stty cs8 -istrip -parenb これで % cat としておいて、ここに日本語の文章をカットアンドペーストすれば良いはず です。すなわち、これ以降は kterm 上で実行するアプリケーション (shell, mule -nw, telnet 等) の設定の問題となります。shell の設定に関しては [管理番号 359] を見てください。 なお、(FreeBSDの) kterm 上から SunOS に telnet(1) でリモートログインし、 そこに日本語をカットアンドペーストすると MSB(8ビット目) が落ちて 日本語が化けてしまうことがあるようです。この場合は telnet の代わりに rlogin(1) や telnetx、ssh(1) を使ってください。4.0-RELEASE 以降には OpenSSH がシステムに含まれています。また、ports/packages には telnetx や SSH のいくつかの実装が用意されています。 --- [管理番号 362] (最終更新 2001/11/03 13:54:21) Q. 日本語の含まれるファイルを、kterm 上で jless を使って表示させると 文字化けします。 A. jless は出力する漢字コード (および入力漢字コード) を選べます。 たとえば、環境変数 JLESSCHARSET に次のように設定します。 % setenv JLESSCHARSET japanese (csh 系) $ export JLESSCHARSET=japanese (sh 系) 以下に代表的な三種類を例示しておきますので、kterm(1) 側の設定に合わせ てください。いずれも入力については、JIS, EUC, Shift-JIS の自動認識を 試みます。 1. japanese-jis または japanese 出力を JIS コードに変換して表示します。 2. japanese-ujis または japanese-euc 出力を EUC コードに変換して表示します。 3. japanese-sjis 出力を Shift-JIS コードに変換して表示します。 なお、同様の環境変数として LESSCHARSET がありますが、4.1-RELEASE 以降 では less(1) が標準システムに含まれたため、こちらに上記の設定をしない ようにしてください。間違えて LESSCHARSET に設定した場合、less(1) およ び more(1) が ``invalid charset name'' というエラーメッセージを表示し て動作しません。 --- [管理番号 369] (最終更新 1999/02/17 23:58:45) Q. kterm 上で 起動した mule に他のウィンドウからの日本語テキスト文字の カット&ペーストを行うと文字化けしてペーストされてしまうのですが? A. Mule の keyboard-coding-system と kterm の kanjiMode が一致していない ためです。kterm で設定している漢字コードを以下のように ~/.emacs に 設定します。 (set-keyboard-coding-system *euc-japan*) ; (eucの場合) また、mule 上で M-x set-keyboard-coding-system と入力すると、 keyboard-coding-system: のプロンプトがでますが、ここでタブキーを押下すると、漢字の候補が 出てきますので、利用している漢字コードを選ぶことができます。 --- [管理番号 436] (最終更新 1999/02/17 23:58:45) Q. Wnn6 を起動しようとすると、 /usr/local/bin/Wnn6jserver: Can't bind socket と言われてしまい、起動できません。 A. まずは同じポートを使っているプログラムが動いていないか (既にWnn6が 動いていないか)、また Wnn4 を同時に使おうとしていないか調べてください。 動いていなかったら /tmp/ を見てください。jd_sockV6 というファイルがあ るならそれを消せば動くと思います。 bind については、man bind でマニュアルを見てください。 --- [管理番号 442] (最終更新 1999/02/17 23:58:45) Q. Wnn6をマニュアルの記述のとおりにインストールしましたが、jserverを実行す ると次のようなエラーが出て起動できません。 Can't get host infomation from hostname A. ホスト名からIPアドレスが引けていません。ネットワークの設定を見直してくだ さい。DNSもしくは/etc/hostsの設定内容をチェックし、マシンのホスト名とIPアド レスの対応が正しいか確認してください。 マシンがネットワークに接続されていない場合は、/etc/hosts を以下のように設定 する方法もあります。 hostname(1) を実行して # hostname MYNAME.MY.DOMAIN と表示される場合、/etc/hostsには 127.0.0.1 localhost localhost.MY.DOMAIN MYNAME.MY.DOMAIN と設定します。 --- [管理番号 458] (最終更新 1999/02/17 23:58:45) Q. MuleでMew/MHを使っていますが、サマリモードで漢字が化けます。 A. MHの設定の問題です。2つの設定が必要です。 まず、結論として、.mh_profileにて file-coding: ja_JP.jis7 process-coding: jp_JP.jis7 display-coding: jp_JP.jis7 という指定を加え、mhに対して、ファイルや通信、表示に使われる漢字コード を指定します。 さらに、ヘッダ解析のためのファイル(例えばmew-1.70/Mail/scan.jis.form) を入手して、~/Mail/scan.jis.formとし、同じく.mh_profile Path: Mail inc: -form scan.jis.form scan: -form scan.jis.form として認識させます。以上で、サマリモードで正しく漢字が表示されます。 なお、mewは1.70までmhを使っていましたが、それ以降はimを使うようになった ので、それらについてはまた別問題になります。 --- [管理番号 466] (最終更新 2004/04/09 05:05:47) Q. FreeWnn (Wnn4) または Wnn6 をインストールしたのですが、漢字変換がで きません。何を確認すれば良いでしょうか。 A. まず、jserver が「jserver を動かしたいマシン上で」起動していること を確認してください。 ps -ax などで jserver が存在すれば、jserver は起動しています。動いて いない場合は、Wnn のマニュアルにしたがって jserver を起動してください。 ports&packages からインストールした場合は起動 script が /usr/local/etc/rc.d にインストールされているはずです。 jserver の動作が確認できたら、client の環境設定が正しいかどうか調べ ましょう。 Wnn の client と jserver の通信がうまくゆかず、変換出来ない場合によ く見られる間違いに、jserver の動いている host を指定していないというも のがあります。 ほとんどの Wnn client は default では jserver という名の host で動い ている jserver daemon と通信しようとします。ここで、実際に jserver が 動いている host が jserver という名でなければ通信に失敗してしまい、変 換が行なえません。解決法は以下のいずれかになるでしょう: (a) jserver が動いている host に jserver という別名をつける。 (b) client を起動する時に jserver が動いている host を教える。 (c) client が default で接続しに行く host の名前を変える。 他の原因も考えられますが、ソフトウェアによってかわってきますので、一 概にはいえません。あなたが入力を行ないたいと思っている環境について ドキュメント、QandA、メーリングリスト、その他を検索して調べ、分からな い場合はメーリングリスト、netnews 等で質問して下さい。 kinput2 と kterm の組合せについては [管理番号 356] も御覧下さい。 Jserver と通信出来ない場合の解決法として示されることが最も多いのは (b) ですが、あなたが管理者で、ユーザーにそれを徹底させるのが大変な場合 は (a) または (c) が有効かもしれません。 (a) jserver が動いている host に jserver という別名をつける。 DNS や /etc/hosts 等で jserver という host を設定します。 (b) client を起動する時に jserver が動いている host を教える。 Wnn client には主なもので emacsen で動く たまご(egg、emacs 19 以前)、 eggV4 (emacs 20 相当以降) の他、kinput2、xwnmo、uum、onew 等があり ますが、egg V4 以外に共通して jserver host を指定する方法として 環境変数 JSERVER に jserver の動いている host 名を設定する方法があります。 ほとんどの wnn client はこの環境変数を参照しているはずです (egg V4 の場合は、特に指定しなければ localhost の jserver に接続 するようです)。 あなたの環境に応じて、.login、.cshrc、.profile、.xsession、.xinitrc などで環境変数 JSERVER を設定して下さい。 jserver が localhost で動いている場合は csh 系の shell: setenv JSERVER localhost sh 系の shell: JSERVER=localhost; export JSERVER または export JSERVER=localhost jserver が 動いている host が jserverhost.domain であれば setenv JSERVER jserverhost.domain と記述します。 xdm で login する場合は [管理番号: 454] もご覧下さい。 これ以外に client によって異なった方法で jserver host を指定すること が出来ます。主な例として、egg と kinput2 について例を挙げておきます。 詳しくは各 client の説明 (man、info 等) を御覧下さい。 たまご: egg では set-wnn-host-name 関数を用いて .emacs などから設定すること ができます。 localhost で動いている場合: (set-wnn-host-name "localhost") 他の host (この例では jserverhost.domain) で動いている場合: (set-wnn-host-name "jserverhost.domain") 尚、set-wnn-host-name 関数は指定された host名を jserver-list 変数の 先頭に追加しますので、jserver が動いている host が複数あって、どれに 接続しても良い場合は set-wnn-host-name を複数回実行します。その際、 最初に接続したい host は最後に指定するようにして下さい。 egg V4 については事情が異なりますので、調べてみて下さい。 kinput2: manual に載っているように、jserver が動いている host を option: -jserver resource: Kinput2*CcWnn.jserver 及び Kinput2*CcWnn.jserver2nd で指定する事が出来ます。 例1: % kinput2 -wnn -jserver localhost -ccdef ccdef.kinput2.egg & 例2: .Xdefaults、.Xresources 等に Kinput2*CcWnn.jserver: localhost を追加する。 (c) client が default で接続しに行く host の名前を変える。 jlib を使用する client は、jserver を指定されなければ、起動時に /usr/local/lib/wnn/serverdefs ファイルを参照して接続する host を決定します。 従って、jserver (または他の使用している server) に対応する 2カラム目 の machine name を jserver からお望みの host名に変更すればよいでしょう。 但し、eggV4 のように、jlib を使用していない client についてはその client の設定を変更する必要があります。各 client の説明を参照して下 さい。 --- [管理番号 474] (最終更新 2001/04/18 02:12:14) Q. コンソール画面で漢字/日本語が表示できません。 A. IBM PC/AT 互換機のコンソールはそのままでは漢字を表示できません。 ports/packages から kon2 をインストールすれば漢字を表示できます。 原理は DOS/V と同じです。 FreeBSD のバージョンによって、パッケージ名は多少変更されていますが、 現在では以下のどちらかをインストールすれば良いでしょう。どちらを入れて も実体は同じで、設定ファイル (/usr/local/etc/kon.cfg) を編集すれば、 切り換えることが可能です。 1. ja-kon2-16dot (ports/japanese/kon2-14dot) 2. ja-kon2-14dot (ports/japanese/kon2-16dot) --- [管理番号 504] (最終更新 1999/02/17 23:58:45) Q. 半角カナを全角カナに変換する FreeBSD 上のツールってありますか? A. nkf、ack、kc などがあります。それぞれオプションをつけることにより変 換のコードを変えることができます。詳しくは、マニュアルを読んで下さい。 これらのツールは、たいてい、入力のコードを自動的に判定し、指定したコー ドに変換し出力してくれてとても便利です。しかし、ときどき、入力コードの 判定に失敗することがあるので注意しましょう。この場合、出力におかしなコー ドが混入して文字が化けたりします。入力ファイルのコードが判っているなら ば、それを明示的に指定するとよりよい結果が得られるようです。 たとえば、nkf で質問の操作をしてみましょう。半角カナのあるファイルが SJIS だと判っていて、出力を EUC にしたければ、 nkf -Se in > out のようになります。オプションの "-S" が入力が SJIS であることを、"-e" が出力を EUC にすることを指定しています。 特に指定しない限り nkf は半角カナ (X0201) を全角カナ (X0208) に変換し ます。 上記で言っている「半角カナ」は、JIS X0201 で規定されている、1 バイトで 表現されるカタカナのことです。NEC PC-9801/PC-9821 などは、メーカ独自拡 張文字として 2 バイトで表現される半角カタカナのフォントが漢字フォント ROM に入っていますが、このような文字は nkf の処理対象ではありません。 また、メーカ独自拡張文字は利用すべきではありません。 --- [管理番号 570] (最終更新 1999/02/17 23:58:45) Q. package から Canna 対応 Mule と Canna をインストールしたのですが、 Mule で Cannaを Onにできません。 A. Mule(Emacs) 起動時に canna.el という Emacs Lisp が実行されていない ことが原因だと思われます。 ホームディレクトリの .emacs ファイルに 以下の行を追加して下さい。( .emacs がなければ新規作成して下さい) (if (and (boundp 'CANNA) CANNA) (progn (load-library "canna") (canna))) Canna を使うモードには Ctrl+o で移動できます。英数入力に戻るときも 同じです。このキー配置を変更したいと思ったら一度 canna.el を眺めて みましょう。 このファイルは packageで Mule をインストールした場合には、 /usr/local/lib/mule/19.28/lisp/canna.el にあります。 --- [管理番号 578] (最終更新 1999/02/17 23:58:45) Q. Mule で Canna を Onにするキーが Ctrl + o なのですが、これを Wnn と 同じように Ctrl + \ に変更したい。 A. Mule の中での canna 設定ファイル canna.el を見てみましょう。 このファイルは packageで muleをインストールした場合には、 /usr/local/lib/mule/19.28/lisp/canna.el にあります。 この中で 最初に実行する canna() という関数の途中で (global-set-key "\C-o" 'canna-toggle-japanese-mode) こういう設定をしています。\C は Ctrlキーを意味します。 もし Ctrl + \ キーに変更したいのであれば、 (global-set-key "\C-\\" 'canna-toggle-japanese-mode) この関数をどこかで実行してあげれば追加されるでしょう。 もし .emacs ファイルの中で (canna) を実行しているのであれば、以下の ようにその付近に今の関数を置くのもよいでしょう。 (if (and (boundp 'CANNA) CANNA) (progn (load-library "canna") (global-set-key "\C-\\" 'canna-toggle-japanese-mode) (canna))) --- [管理番号 600] (最終更新 2001/04/18 02:12:14) Q. 標準の vi では日本語が正常に表示されません。そこで package の nvi をインストールしてみたのですが、やはり日本語が正常に表示されません。 pkg_info で見るかぎり、きちんとインストールできているのですが。 A. まず始めに、 % which nvi と入力してみてください。結果が /usr/bin/nvi となるようでしたら、それは FreeBSD システムに標準の、日本語に対応して いない nvi が実行されているからです。ports/packages でインストールさ れるソフトウェアは、特に指定しない限り /usr/local 以下に配置されます。 標準の vi(1) は nvi(1) との hard link になっています (実体が同じもの という意味です)。日本語対応版である パッケージ名 | FreeBSD Ports Collection -------------------+-------------------------------- nvi-m17n | ports/editors/nvi-m17n ja-nvi-sjis | ports/japanese/nvi-sjis ja-nvi-iso2022jp | ports/japanese/nvi-iso-2022-jp ja-nvi-eucjp | ports/japanese/nvi-euc-jp などは /usr/local/bin/nvi としてインストールされるので、コマンド検索 PATH で /usr/local/bin を先に参照するように設定するか、alias を設定す るなどしてください。 それでも正常に表示されない場合は、次に画面表示の設定を確認しましょう。 [管理番号 356]、[管理番号 474] 等を参考にしてください。 他の端末エミュレータを使っている場合は、そのソフトウェアの日本語機能 やその設定を確認する必要がありますので、マニュアル等で調べてください。 --- [管理番号 629] (最終更新 2004/07/12 23:14:38) Q. どのマニュアルが jman 化されているのかを知る方法は無いでしょうか。 A. が参考になるかも知れません。 --- [管理番号 663] (最終更新 1999/02/17 23:58:45) Q. muleを使って、漢字コードを変換したいのですが。 A. ファイルをセーブする前に、漢字コードを変更できます。 << mule-2.3 の場合 >> C-x C-k f で ミニバッファに File-coding-system: と出ますので、漢字コードを入力しましょう。 スペースを押すと候補の一覧がでます。 EUC だったら、*euc-japan* です。 << XEmacs-20.4 の場合 >> メニューバーのMuleから Set coding system of Buffer file を選択するか、C-x C-m f で File-coding-system: と出ます。漢字コードの選択は上と同じです。 --- [管理番号 722] (最終更新 1999/07/02 16:25:57) Q. Mew の Message ウインドウでヘッダーの日本語が文字化けして読めません. Summary ウインドウではちゃんと読めます. なぜでしょうか? A. 特定のバージョンの fetchmail はメール中の MIME をデコードしてしまいま す. Mew の Summary, Message ウィンドウはどちらもヘッダが MIME エンコー ドされていれば, デコードして表示するというのは同じなのですが, MIME エン コードされていない場合の動作が異なります. MIME エンコードされていない場合, Summary ウインドウ : JIS なら文字化けしない. EUC, SJIS 共に文字化け. Message ウインドウ : どの文字コードでも文字化け. という仕様です. このため Mew の Summary ウインドウでは日本語のヘッダが読めても, Message ウィンドウでは文字化けするという状況になります. 対策は, fetchmail が MIME のデコードを行わない様に設定する事です. ~/.fetchmailrc に no mimedecode を加えてください. これで MIME のデコードを行わない様になります. 詳しくは fetchmail(1) を参照してください. なお, この問題はお使いの fetchmail のバージョンが 4.4.1 以上 4.4.7 未満 あるいは 4.7.6 以上の場合に発生します. Mew を使用する時は no mimedecode を必ず設定するべきでしょう。 なお ports/packages の current でのバージョンは 1999年5月16日現在 5.0.0 です. --- [管理番号 1089] (最終更新 1999/07/24 15:41:29) Q. JISコードのファイルを日本語をキーワードにして検索したいのですが どうしたら良いのでしょうか? A. 以下の方法があります。 A1. lv(lgrep) で可能です。port/package が作成されています。 A2. で配布されている mg (multi-line grep) という perl スクリプトを 使う方法もあります。 % mg -j jis 'ほげほげ' file_name とすると、JISコードのファイルも検索できます。 なお、mg の実行には jcode.pl が必要です (port/package が用意 されています)。 --- [管理番号 1097] (最終更新 1999/02/24 04:19:40) Q. Wnn4 の jserver で tankan2.dic や tankan3.dic を使うようにすると jvim の onew で変換できないときがあります。 A. onew は tankan2.dic (第二水準) と tankan3.dic (補助漢字) をサポート していないので使うことはできません。onew が利用する libjd (Wnn3互換ラ イブラリ) では使えないからです。 --- [管理番号 1137] (最終更新 2001/05/07 03:21:08) Q. メールを受信して、mule 上で M-x mh-rmail として新着メールを読み込む、 あるいは MH で inc ないしは scan する時に、メールサマリーの Subject や From 欄の日本語が =?iso-2022-jp?B?GyRCJUYlOSVIGyhC?= などとなり、正しく表示されない。 A. 古いバージョンの MH を使用している場合、MIME エンコードされた メールヘッダーが正しく処理されないことがあります。 2001 年 4 月 12 日現在 ports/packages に収録されている ja-mh-6.8.4.j3.03 はデフォルトでこれを正しく扱えますので、 MH のバージョンアップをしてください。特に設定をしなくても、 コマンドラインから inc ないしは scan する際には正しく 日本語が処理されます。 上記の設定だけで mule の mh-rmail 使用時に問題が解決されない 場合には ~/.mh_profile に以下を追加してください。 file-coding: ja_JP.jis7 process-coding: jp_JP.jis7 display-coding: jp_JP.jis7 [管理番号 458] も参照してください。 --- [管理番号 1146] (最終更新 2000/12/07 02:36:51) Q. Wnn6 で、ユーザー辞書を dtoa で、テキストファイルに変換しようと すると Segmentation fault で停止する。 A. ユーザー辞書の読みまたは漢字に null の単語が登録されているとき、 dtoa が Segmentation fault で停止します。これを修正するモジュールは、 にあります。 なお、この問題は Wnn6 Ver2.0 では対策済です。 --- [管理番号 1166] (最終更新 2004/07/12 23:14:37) Q. kterm 上で jman コマンドを使って日本語マニュアルを読みたいのですが、 うまく表示できず、文字化けしてしまいます。 A. まず、jman コマンド上だけ日本語が表示できないのか、それとも kterm 上で日本語が一切表示できないのかを調べて下さい。例えば % gzip -dc /usr/share/man/ja/man1/ls.1.gz はうまく表示できますか? もしこれも化けてしまうなら、X 上での 日本語文字表示のための環境設定がうまくいっていないのでしょう。 [管理番号 356] [管理番号 357] を参考にして下さい。 先程のコマンドでうまく表示できたなら、環境変数を見直してください。 シェルに csh・tcsh をお使いなら、 setenv JLESSCHARSET japanese setenv PAGER jless setenv LANG ja_JP.eucJP sh・bash をお使いなら export JLESSCHARSET=japanese export PAGER=jless export LANG=ja_JP.eucJP として、 % jman ls として下さい。うまくいったら、上記の設定を ~/.cshrc (csh・tcsh) や ~/.profile (sh・bash) に書き込んでおくとよいでしょう。 それでも文字化けをする場合は、jman の catman (キャッシュのようなもの) が 残ったままになっているのかもしれません。/usr/share/man/ja/ 以下で # rm cat?/* と catman をクリアしてから、再度やり直して下さい。 なお、古い FreeBSD に付属する jman には、この他にもいろいろと不具合が 起こることがあります。 を参照して下さい。 --- [管理番号 1188] (最終更新 1999/02/24 04:29:02) Q. Wnn4.2 を使っています。変換効率に不満があるのですが、この Wnn4.2 を もっと賢くする方法はありませんか? A. 辞書を増やす、補強するという方法があります。 ports/packages の標準ではインストールされている辞書のうち、 tankan2.dic (JIS第2水準単漢字辞書) tankan3.dic (JIS補助漢字単漢字辞書, JIS X0212) は default では利用されませんが、Wnn4 の設定で追加できます。設定方法は wnnenvrc、eggrc-wnn などを参照して下さい。 ただし、Wnn3互換ライブラリの制限で利用できない場合があります ([管理番号 1097])。 「Wnn を賢くする方法」 で公開されている pubdic+-wnn-1.0.tar.gz gerodic-1.00.tar.gz pubdic+-sup-1.00.tar.gz を導入する事で、辞書を大幅に補強できます。なお、これらの辞書は FreeBSD 3.1-RELEASE 以後の ports/packages では最初から組み込まれて いますので、改めて導入する必要はありません。 導入方法については、各配布物に日本語の説明書が入っています。 導入も make; make install で済みますので、非常に簡単です。 gerodic-1.00.tar.gz については、file が分割されていて、それを一つに まとめないといけませんが、各 Kit#* というファイルの header と 後ろの 部分を削除して、 % sh ./Kit#1 として、これを Kit#7 まで続けると、g-jinmei.u.Z というファイルができます。 これを gerodic-1.00 directory に移して、 % uncompress g-jinmei.u.Z として、展開します。 その後 make; make install で終りです。 新しく辞書を増設した時の設定ファイルの書き方については、 pubdic+-wnn-1.0.tar.gz の中の omake というディレクトリに設定例を示した ファイルが入っているので、それを参考にすれば簡単でしょう。 また、専門用語の辞書を増やしたいという場合には、 が参考になるでしょう。 ~/.wnnenvrc、~/.eggrc の設定に関して補足しておきます: 参考: Software Design 1994.2 号記事 「Nemacs、Mule の日本語変換環境 -たまご- を賢く使う編」 1) Wnn4 に関して調べていると 「Wnn4 を賢くする辞書パラメータ」という話を 聞くことがあるでしょうが、こ のパラメータの ports/packages における 導入状況は以下のようになっています。 mule の eggrc-wnn: 2.2.6R より対応。 xemacs-mule の eggrc-wnn: 最初に ports に入った時から導入済。 Wnn4 の wnnenvrc: FreeBSD 2.2 系列、FreeBSD 3.0R では未対応。 3.1R では導入済 2) また、Wnn の場合は、変換候補が出てくる順番は単語の頻度だけでなく、 辞書ファイルの優先度にも影響されます。 標準の wnnenvrc, eggrc-wnn では辞書ファイルの優先度は 1 か 5 にしか なっていませんので、使う辞書を増やした場合、辞書の内容に合わせて こういう部分も手直ししてみるとよいかもしれません。辞書を設定する コマンドは setdic (~/.wnnenvrc)、 add-wnn-dict (~/.eggrc) です。 引数の意味については wnnenvrc のマニュアルを参照して下さい。 --- [管理番号 1207] (最終更新 1999/04/07 06:23:54) Q. C言語の printf 文で日本語を表示させようとすると、コンパイル時に エラーが出るときがあるんですが(コンパイルできる時もある)。 A. ソースの日本語コードが JISコードになっていませんか? % echo 'あいう' | nkf -j | hexdump -c 0000000 033 $ B $ " $ $ $ & 033 ( B \n でわかるように、JIS コードの「あ」には " というキャラクタコードが 含まれているため、printf("..") の "" の対応がおかしくなり コンパイル時にエラーになります。しかし % echo 'ほげほげ' | nkf -j | hexdump -c 0000000 033 $ B $ [ $ 2 $ [ $ 2 033 ( B \n のように、JIS コードには常に " が含まれているわけではないので、 表示させたい文字によって、エラーになったりならなかったりします。 EUC だと、日本語部分のコードは ASCII コードとは重ならない値を使うため、 エラーにはなりませんので、ソースを EUC コードに変換してください。 変換方法は [管理番号 1253] Q. ファイルの文字コードを変換したいのですが。 [管理番号 1289] Q. 新規ファイルをエディタで作成したときの、文字コード(JIS、EUCなど)を 指定したいのですが。 を参照してください。 --- [管理番号 1218] (最終更新 1999/06/03 03:50:53) Q. package/ports にある、日本語対応の perl (jperl) をインストール したのですが、日本語に対して split 等を使っても、オリジナルの perl と同じ挙動になります。 A. jperl (パッケージ名 ja-perl) の日本語機能を使う場合は、 1) スクリプトの先頭行を #!/usr/local/bin/perl でなく、 #!/usr/local/bin/jperl と書く。 2) 日本語を使う前に perl スクリプトに use I18N::Japanese qw(re); と書いておく。 のどちらかを行ってください。どちらの条件も満たしていない場合、 jperl はオリジナルの perl として動作します。 また、処理対象の文字列の文字コードを確認してください。→[管理番号 1254] jperl は、コンパイル時に EUC か SJIS のどちらかを指定してコンパイル されます。この指定と、処理する文字列の文字コードが合っていないと 正しく処理されません。package/ports の jperl は EUC版になっています。 ただし、-Lsjis オプションをつけると SJIS 版として動きます。 つまり、スクリプトの先頭を #!/usr/local/bin/jperl あるいは #!/usr/local/bin/jperl -Leuc とすると EUC を扱えますし、 #!/usr/local/bin/jperl -Lsjis とすれと SJIS を扱うことができます。 --- [管理番号 1253] (最終更新 2001/08/12 05:24:59) Q. ファイルの文字コードを変換したいのですが。 A. nkf、qkc あるいは iconv を使いましょう。 % nkf file > file-jis (JISに変換) % nkf -e file > file-euc (EUCに変換) % nkf -s file > file-sjis (SJISに変換) qkc は ファイルを直接書き換えられるので、 % qkc -e file (EUCに変換) とすることもできます。 iconv は nkf や qkc などがサポートしている日本語文字コードの他に、 他言語の文字コードや unicode もサポートしています。 % iconv -f utf-8 -t euc-jp file > file-euc (UTF-8 から EUC に変換) % iconv -f utf-8 -t iso-2022-jp file > file-jis (UTF-8 から JIS に変換) % iconv -f utf-8 -t shift_jis file > file-sjis (UTF-8 から SJIS に変換) なお、iconv で JIS コードを変換する場合には ports/packages の iconv-extra もインストールした方が良いようです。 nkf、qkc、iconv のいずれも、ports/packages が用意されています。 さらに詳しい使用法は、コマンドと同時にインストールされる マニュアルページ nkf(1)、qkc(1)、iconv(1) を御覧下さい。 また、ファイルの文字コードを調べるには [管理番号 1254] を参照してください。 --- [管理番号 1254] (最終更新 2002/03/07 15:32:11) Q. ファイル中に使われている日本語部分の文字コードの種類を知るには どうしたらいいですか? A. port/package に textproc/coco というアプリケーションがあります (元々は mule に付属していたコマンドで、2002年3月に独立した port になりました。textproc/coco が見つからなければ mule をインストール してください)。 EUC・JIS・SJIS のファイルを読ませると、それぞれ % coco -q < file-euc In (*euc-china*unix): 3209 bytes % coco -q < file-jis In (*junet*unix): 3221 bytes % coco -q < file-sjis In (*sjis*unix): 3209 bytes と出力します。 なお、実際は日本語 EUC コードであるのにも関わらず、euc-china と判定して しまうというバグがあります。 他にも、 jless を起動して C-g ack -c kcc -c wkf -c kanji-type (むかし fj.sources に流れた) jcode.pl (単体のコマンドではないが、perl script 中で &jcode::getcode(*line) で判定可能) などの方法があります。 ファイルの文字コードを変換するには [管理番号 1253] を参照してください。 --- [管理番号 1285] (最終更新 1999/05/07 00:50:26) Q. skk-9.6 附属の skkserv が pid XXX (skkserv), uid 0: exited on signal 11 (core dumped) とエラーを出して起動できません。 A. 以下に示す 2 通りの解決法があります。 1. /etc/hosts に 127.0.0.1 localhost と、自ホストの IP アドレスとホスト名を追加します。 2. skk-9.6 附属 の skkserv.c に以下のパッチを当てて skkserv を作り直し ます。 --- skkserv.c.orig Tue Jan 21 04:16:36 1997 +++ skkserv.c Thu Mar 25 19:45:50 1999 @@ -723,7 +723,11 @@ fprintf(errout, "%s:cannot get hostname, or too long hostname\n", pgmnm); exit(1); } - hentry = gethostbyname(hname); + if ((hentry = gethostbyname(hname)) == NULL + && (hentry = gethostbyname("localhost")) == NULL) { + perror("gethostbyname"); + exit(1); + } #ifdef NO_ADDR_LIST strcat(hname, ":"); strcat(hname, hentry->h_addr); --- [管理番号 1289] (最終更新 2001/10/14 11:51:14) Q. 新規ファイルをエディタで作成したときの、文字コード (JIS、EUC など) を 指定したいのですが。 A. エディタによって設定が違いますので、お使いのエディタのドキュメントを参 照してみましょう。 いくつか例をあげると、 mule-2.3 をお使いなら、 ~/.emacs に (set-default-file-coding-system *euc-japan*) emacs20/xemacs20 なら、 ~/.emacs に (set-default-file-coding-system 'euc-japan) mule-4 対応となった emacs20 以降は (prefer-coding-system 'euc-japan) nvi-m17n では .exrc に (または ex command として) set fileencoding=euc-jp set autodetect=jp+ と書くと、それ以降 作成されたファイルは、EUC コードになります。また、 euc-japan でなく iso-2022-jp とすれば JIS コード euc-japan でなく sjis とすれば ShiftJIS コード になります。 ただし、既に存在するファイルを編集・保存した場合は、emacs/mule は 文字コードを変換せずに、元の文字コードのままにします。 ですから、既存ファイルの場合は、明示的に変換しないといけません。 emacs/mule 上からだと M-x set-file-coding-system RET *euc-japan* (mule2.3の場合) (C-x C-k f *euc-japan* でも可) M-x set-buffer-file-coding-system RET euc-japan (emacs20/xemacs20の場合) (C-x RET f euc-japan でも可) でできます。また、一度 emacs/mule から抜けて、nkf や qkc を使っても よいでしょう [管理番号 1253] 。 kterm 上で jvim などを使って編集する場合は、 kterm -km euc として、EUC コードで kterm を立ち上げた上で編集しましょう。 また、Terminal 等から emacs で日本語を使う場合は、 (set-terminal-coding-system 'euc-japan) です。 nvi-m17n については、README.japanese を参照して下さい。 --- [管理番号 1473] (最終更新 1999/12/23 18:00:45) Q. /usr/bin/mail で日本語のメールを読もうとすると、長いメール だけが文字化けします。 A. $HOME/.mailrc で set PAGER=jless となっているか見直しましょう。 環境変数 PAGER で jless が設定されていても、$HOME/.mailrc で set PAGER=more となっているとページャとして more が起動されて しまいます。 短いメールはページャが起動されずに素の iso-2022-jp が出力され、 kterm は iso-2022-jp を正しく表示できるのでうまく表示されますが 長いメール (環境変数 crt よりも行数が多いメール) はページャが 起動されて、ページャが ESC コードを ^[ と出力してしまいます。 --- [管理番号 1864] (最終更新 2001/10/14 11:51:14) Q. handbook、FAQ、jman などの日本語ドキュメントを、cvsup を使って 最新の状態に保ちたいのですが、どのようにしたらいいですか? A. まず、cvsup で、コレクション doc-all をダウンロードします。 以下のファイルを用意してください。 (ここに示す例では /usr 直下に root 権限で cvsup していますが、root 権限が必要なのは document をインストールする際なので、一般 user で 行なってもよいでしょう)。 # cat supfile-doc-all *default host=CHANGE_THIS.FreeBSD.org *default base=/usr *default prefix=/usr *default release=cvs tag=. *default delete use-rel-suffix *default compress doc-all # cat /usr/sup/refuse doc/de_DE.ISO8859-1 doc/es_ES.ISO8859-1 doc/fr_FR.ISO8859-1 doc/nl_NL.ISO8859-1 doc/sr_YU.ISO8859-2 doc/ru_RU.KOI8-R doc/zh_TW.Big5 尚、refuse ファイルは、 doc/de* doc/es* doc/fr* doc/nl* doc/sr* doc/ru* doc/zh* という記述でも十分です。(前者の例のように全て書くと、2001年6月頃 のように、locale 名が一部変更されると refuse ファイルに記述した言 語のドキュメントを取り寄せないようにしたつもりでも持ってきてしまうと いうことが起こり得ます)。 また、新たな言語が追加されると、それをとってきてしまうので、適宜 結果をチェックして修正した方がよいでしょう。 CHANGE_THIS.FreeBSD.org の部分 (cvsup サーバ名) は、 などを参考に書き換えて下さい。 その上で、 # cvsup -g -L 2 supfile-doc-all すると、以下のようになります。 # ls -l /usr/doc total 6 -rw-r--r-- 1 root wheel 1242 6/11 10:16 Makefile -rw-r--r-- 1 root wheel 377 4/13 2000 README drwxr-xr-x 5 root wheel 512 8/28 03:23 en_US.ISO8859-1 drwxr-xr-x 6 root wheel 512 8/28 03:31 ja_JP.eucJP drwxr-xr-x 7 root wheel 512 8/28 03:31 share 次に、make 時に必要なので、ports の textproc/docproj を インストールしてください。 # cd /usr/ports/textproc/docproj # make JADETEX=no install # make clean ただし、docproj は依存する ports が多いので、ダイアルアップ接続の 場合は、先に make fetch-recursive として、依存する port の distfiles も取り寄せた方がよいかも知れません。 ここまで準備できたら root (または、適当な user) 権限で # cd /usr/doc/ja_JP.eucJP # make # make install # make clean としてください。 これで日本語マニュアルは /usr/share/man/ja に、その他のドキュメントは /usr/share/doc/ja にインストールされます。 --- [管理番号 2122] (最終更新 2002/04/11 03:59:26) Q. japanese/xdvi-vflib-pk* を入れたのですが、dvi ファイルをプレビュー しようとすると、フォントが足りないようで表示ができません。 A. 以下の点を調べてみて下さい。 1. その dvi ファイルは、JIS フォントメトリックを使っていませんか? 例えば、jsclasses などを使っている場合が該当します。 その場合、/usr/local/share/texmf/xdvi/vfontmap の後ろ4行にある コメントアウトを解除してください. 2. japanese/xdvi-vflib-pk* は、japanese/ptex-pkfonts* にあるフォン トのみを用いて表示を行おうとします。足りないフォントを自動的に生 成するようにするには、japanese/xdvi-vflib-pk* ではなく japanese/xdvi-vflib を入れてください。もちろん、その後に japanese/ptex-pkfonts* を入れると、そのフォントも表示に用いられ ます。よく使う解像度のフォントは入れておいた方がよいでしょう。 --- [管理番号 2199] (最終更新 2003/01/22 21:13:31) Q. locale (ロケール・ロカール) って何ですか? A. 国や地域、言語によって挙動が違う部分を吸収し、1つのプログラムで複数の 国・地域・言語に対応するための仕組みです。 locale はフレームワークでしかありませんので、locale を指定すると実際に アプリケーションがどのような挙動をするかはアプリケーションによって 大きく違います。 date コマンドを例にとると、デフォルト (デフォルトは C ロケールといいます) では英語表記です。 % env - date Mon Mar 25 02:22:57 JST 2002 一方、環境変数 LC_ALL を ja_JP.eucJP とすると、 % env LC_ALL=ja_JP.eucJP date 2002年 3月25日 月曜日 02時22分07秒 JST と日本語表記となります。年月日の表示順も日本式になっていることに 注意して下さい。 また、メッセージカタログという仕組みでメニューを各国の言語に切り替える ことができるアプリケーションもあります。以下のようにすると tgif や sylpheed のメニュー・メッセージが日本語化されます。 % env LC_ALL=ja_JP.eucJP tgif % env LC_ALL=ja_JP.eucJP sylpheed jman(1) のように、何語のマニュアルを表示するかをロケールに従って 決定しているプログラムもあります。 % env LC_ALL=C jman ls (英語のマニュアル) % env LC_ALL=ja_JP.eucJP jman ls (日本語のマニュアル) --- [管理番号 2200] (最終更新 2003/01/22 21:13:31) Q. locale (ロケール・ロカール) の設定をしたいのですが、環境変数が LANG やら LC_ALL やらたくさんあって、どれを使ってよいのかわかりません。 A. ロケールには以下の 6つのカテゴリがあり、以下のような分類になっています (詳しくは setlocale(3) を参照して下さい)。 LC_COLLATE 文字列のソート順を設定する LC_CTYPE 扱う文字の種類 (エンコーディング) を設定する LC_MESSAGES メッセージなどの言語を設定する LC_MONETARY 通貨単位や金額表記を設定する LC_NUMERIC 数値の表記について設定する LC_TIME 日付と時刻のフォーマットを設定する この 6つの環境変数を適切に設定すればよいのですが、数が多くて面倒です。 そこで上記のカテゴリをまとめて設定するものとして、環境変数 LC_ALL と 環境変数 LANG があります。 - LC_ALL は最も強く、他の LC_* を上書きします。 - LANG は最も弱く、他の LC_* によって上書きされます。 よって、どの環境変数を何にセットするかでプログラムの挙動は変わります。 LC_CTIME を参照する date(1) コマンドの例を以下に示します。 % env - date Mon Mar 25 02:56:33 JST 2002 ↑何もロケールを何も設定しないと C ロケールが使われる % env LANG=C date Mon Mar 25 02:56:45 JST 2002 ↑C ロケールは英語表記となる % env LANG=C LC_TIME=ja_JP.eucJP date 2002年 3月25日 月曜日 02時56分58秒 JST (EUC-JP で出力される) ↑LANG は LC_TIME により上書きされる % env LC_ALL=ja_JP.SJIS LANG=C LC_TIME=ja_JP.eucJP date 2002年 3月25日 月曜日 02時56分58秒 JST (Shift_JIS で出力される) ↑LC_TIME は LANG より強く、さらに LC_ALL の方が強い また、上記 6カテゴリとは別に環境変数 LANGUAGE というものもあります。 これは GNU gettext だけが使用する独自の環境変数ですので、GNU gettext を利用していないアプリケーションならば環境変数 LANGUAGE は無関係です。 LANGUAGE は LC_MESSAGES と同じく、メッセージの言語を設定するための ものですが、 LANGUAGE=ja_JP.eucJP;ko_KR.eucKR;US-ASCII などと優先順位を付けて複数の言語を記述できます (ja_JP.eucJP があれば それを使う。なければ ko_KR.eucKR。それもなければ US-ASCII)。 --- [管理番号 2222] (最終更新 2002/06/18 23:56:59) Q. ja-netscape のメニューやボタンが文字化けします。日本語リソースファイルを いじったり、~/.Xdefaults で Netscape*fontList を指定したりしてみましたが、 解決できません。 A. KDE をお使いではありませんか? Control Center → Look & Feel → Style の「他の描画に関する設定」で 「フォントと色を非 KDE アプリにも適用」のチェックを外し、KDE を再起動 してみてください。 少なくとも Netscape 4.x と ja-kde-i18n-2.2.2 の組合せでこの問題が 起きることが確認されています。Mozilla + KDE の場合は問題ありません。 参考 --- [管理番号 2650] (最終更新 2004/07/12 23:14:38) Q. これまで locale 名は ja_JP.EUC だったと思うのですが、ja_JP.eucJP と している人をみかけました。変更になったのですか? A. 4.6-RELEASE の時点で、ja_JP.EUC から ja_JP.eucJP に変更されました。 互換性を確保するため、 /usr/share/locale/ja_JP.EUC@ -> ja_JP.eucJP /usr/share/locale/ja_JP.eucJP/ とシンボリックリンクが張られています。 ただし、 FreeBSD 5.x で LANG=ja_JP.EUC のまま japanese/groff を make すると core dump してしまう [ports-jp:13853] という報告がありますので、余計なトラブルを避ける意味で ja_JP.eucJP に 変更することをお勧めします。