Top / Old / sarge / Japanese
日本語環境構築の Tips や FAQ だとか (sarge 向け)


まず最初にやるべき設定はなんですか?

システムレベルの設定

日本語のロケールを作る必要があります。 woody 以降では

# dpkg-reconfigure locales

して「ja_JP.EUC-JP」を生成します。
この時どのロケールをシステム標準にするか聞かれますが、特別な理由がない限り「なし (None)」を選んでおきましょう。 システム標準のロケールを日本語 (ja_JP.EUC-JP など) にした場合、デフォルトで日本語を表示できないコンソールでの表示が化ける事になります。 もしここで特定のロケールを選択した場合、/etc/environment に書き込まれます。

一応、確認。

$ cat /etc/locale.gen | grep ^ja_JP
ja_JP.EUC-JP EUC-JP

もしなにも表示されないなら /etc/locale.gen に手動で追加。

# echo 'ja_JP.EUC-JP EUC-JP' >> /etc/locale.gen
# locale-gen

各ユーザごとの設定

language-env パッケージに含まれる set-language-env コマンドを使えば日本語に必要な設定をしてくれます。

$ set-language-env

質問に答えていくだけで、設定ファイルを適当に作ってくれます。 この後、startx で X を走らせると、日本語の表示や入力がほとんど動いています。 ただし man にも書いてあるとおり root での使用は止めましょう。

標準ではターミナルエミュが自動起動するように設定されます。 自動起動させたくないなら、~/.xsession の先頭に

TERMINAL_EMULATOR=NONE

を追記しましょう。

例外的に gdm 経由で、GNOME を起動する場合は ~/.xsession ではなく ~/.gnomerc が読まれます。 なので ~/.xsession を ~/.gnomerc としてコピー、またはシンボリックリンクしておくとよいでしょう。(gdm でログインすると日本語が表示/入力できません)
最近の gdm (>= 2.6.0.8-1) は ~/.xsession を読むようです。

日本語を扱ったり表示するために必要なパッケージ

一部のパッケージでは英語以外で表示するために、別パッケージや追加パッケージを必要としていたりします。 例えば mozilla-locale-ja、xpdf-japanese など。 i18n とか l10n とか locale といったパッケージ名で提供されている事が多いです。

日本語で表示できないからと設定をいじくりまわす前に、ちゃんとインストールされているかチェックするのを忘れずに。


X Window System

X で日本語を表示するにはどうしたらいいの?

適当なファイル (~/.xsession あたり) に

LANG=ja_JP.EUC-JP 
export LANG

を書き加える。

この設定は set-language-env で生成されるファイルと内容が重複します。 set-language-env を利用したのなら恐らく必要ないですが、一応確認しておきましょう。

$ cat ~/.xsession | grep LANG
LANG=ja_JP.EUC-JP

LANG での指定が効かない場合、LANG より優先度の高い環境変数が指定されているかもしれません。例えば、

$ env | grep "^LC_\|^LANGUAGE"
LANGUAGE=C

Debian リファレンス9.7.5 特定のロケールを有効にするに、その優先順位が書かれています。 これらの環境変数は、どうしても必要な場合以外は空にしておきましょう。 トラブルの元です。

当然だが、フォントの導入も忘れずに。 日本語が含まれているフォントは

  • TrueType フォント
    • ttf-kochi-gothic, ttf-kochi-mincho
    • ttf-kochi-gothic-naga10, ttf-kochi-mincho-naga10 (non-free)
    • ttf-sazanami-gothic, ttf-sazanami-mincho
    • ttf-mikachan (non-free)
  • X ビットマップフォント
    • xfonts-a12k12
    • xfonts-ayu
    • xfonts-efont-unicode
    • xfonts-intl-japanese
    • xfonts-intl-japanese-big
    • xfonts-kaname
    • xfonts-kappa20
    • xfonts-marumoji
    • xfonts-mona
    • xfonts-mplus
    • xfonts-naga10 (non-free)
    • xfonts-shinonome
  • Type1 フォント
    • gs-esp

アプリによって必要なフォントは異なるので注意。

TrueType フォントの設定は「フォントの設定がよくわからないんだけど」を参照してください。

X で日本語を入力するにはどうしたらいいの?

入力メソッドと仮名漢字変換エンジンをインストールしましょう。 日本語を入力するには Shift+Space、Ctrl+Space、Ctrl+o、Ctrl+\ あたりで。 それでもダメな場合は日本語のロケールがちゃんとつくれているかチェックしましょう。

また ~/.xsession から直接起動したウィンドウで日本語が入力できない場合があります。 大抵は日本語入力システムが起動する前にアプリが立ち上がっているのが原因です。 日本語入力システムが先に起動するように、~/.xsession の上の方に書くなり、途中に sleep を挟むなりして対処しましょう。

if type kinput2 &> /dev/null ; then
  kinput2 -canna &
  # 待つ秒数は適当に
  sleep 3
fi

以下の設定例は set-language-env で生成されるファイルと内容が重複します。
追記する場合は重複箇所の行頭に "#" をつけてコメントアウトしてください。

#if type kinput2 &> /dev/null ; then
#  kinput2 -canna &
#fi
#XMODIFIERS=@im=kinput2 ; export XMODIFIERS

また設定を有効にするには、X を再起動する必要があります。

canna の設定

  • kinput2
# aptitude install kinput2-canna canna

そして ~/.xsession などに

if type kinput2 &> /dev/null ; then
  kinput2 -canna &
fi
export XMODIFIERS=@im=kinput2
export GTK_IM_MODULE=xim

を書き加える。

  • uim
# aptitude install uim uim-canna

そして ~/.xsession などに

if type uim-xim &> /dev/null ; then
  uim-xim &
fi
export XMODIFIERS=@im=uim
export GTK_IM_MODULE=uim
export UIM_IM_ENGINE=canna

を書き加える。

詳しい事は Anthy Wikiuim Wiki などを参考に。

  • iiimf
# aptitude install iiimf-htt-le-canna canna

そして ~/.xsession などに

if type htt_xbe &> /dev/null ; then
  htt_xbe &
fi
export GTK_IM_MODULE=iiim
export XMODIFIERS=@im=htt

を書き加える。

skk の設定

  • skkinput
# aptitude install skkserv skkinput

そして ~/.xsession などに

if type skkinput &> /dev/null ; then
  skkinput &
fi
export XMODIFIERS=@im=skkinput
export GTK_IM_MODULE=xim

を書き加える。

  • uim
# aptitude install uim uim-skk

そして ~/.xsession などに

if type uim-xim &> /dev/null ; then
  uim-xim &
fi
export XMODIFIERS=@im=uim
export GTK_IM_MODULE=uim
export UIM_IM_ENGINE=skk

を書き加える。

詳しい事は Anthy Wikiuim Wiki などを参考に。

anthy の設定

# aptitude install uim uim-anthy

そして ~/.xsession などに

if type uim-xim &> /dev/null ; then
  uim-xim &
fi
export XMODIFIERS=@im=uim
export GTK_IM_MODULE=uim
export UIM_IM_ENGINE=anthy

を書き加える。

詳しい事は Anthy Wikiuim Wiki などを参考に。

prime の設定

# aptitude install uim uim-prime

そして ~/.xsession などに

if type uim-xim &> /dev/null ; then
  uim-xim &
fi
export XMODIFIERS=@im=uim
export GTK_IM_MODULE=uim
export UIM_IM_ENGINE=prime

詳しい事は Prime のページuim Wiki などを参考に。

atokx の設定

ATOK X for Linux (atokx) の場合は

# aptitude install atokx

あとは、~/.xsession の後ろのほうに

. /usr/lib/atokx/im/locale/ja/atokserver/atokx_client

を追加するだけ。上記スクリプトが全部やってくれます。
set-language-env で、設定ファイルを作った場合は、

  • ~/.xsession の XIM, XIM2 を コメントアウト、新たに XIM=htt を加える。

  • ~/.Xresources の #define XIM kinput2 をコメントアウト、新たに #define XIM htt を加える。

ATOK for Linux (atokx2) の場合は、ATOK for Linux のCD-ROM をドライブに入れて

# aptitude install atokx2 iiimgcf

あとは、~/.xsession の先頭に

   if [ -x /opt/atokx2/bin/atokx2_client.sh ]; then
       . /opt/atokx2/bin/atokx2_client.sh
   fi

を書き加える。

参考: /usr/share/doc/atokx2/README.ja

ジャストシステムのサイト にあるアップデートモジュールも忘れずに…

t-code の設定

# aptitude install uim

そして ~/.xsession などに

if type uim-xim &> /dev/null ; then
  uim-xim &
fi
export XMODIFIERS=@im=uim
export GTK_IM_MODULE=uim
export UIM_IM_ENGINE=tcode

を書き加える。

詳しい事は uim Wiki などを参考に。

tut-code の設定

# aptitude install uim

そして ~/.xsession などに

if type uim-xim &> /dev/null ; then
  uim-xim &
fi
export XMODIFIERS=@im=uim
export GTK_IM_MODULE=uim
export UIM_IM_ENGINE=tutcode

を書き加える。

詳しい事は uim Wiki などを参考に。

全角/半角キーで日本語入力 ON/OFF したい

kinput2

  • canna

xev などで全角/半角キーのキーコードを調べて ~/.xsession あたりに

xmodmap -e "keycode 49 = Kanji"

そして ~/.canna に

(set-key 'alpha-mode "\Kanji" 'japanese-mode)
(global-set-key "\Kanji" 'alpha-mode)

を書き加える。

  • その他

xev などで全角/半角キーのキーコードを調べて ~/.xsession あたりに

xmodmap -e "keycode 49 = Zenkaku_Hankaku"

そして ~/.Xresources あたりに

Kinput2*conversionStartKeys: <Key>Zenkaku_Hankaku

と書き込みましょう。

これだけだと OFF できないかも知れません。 Wnn を使っている場合は、ccdef で読み込んでいるファイルを変更します。 どのファイルを読み込んでいるかは /usr/X11R6/lib/X11/app-defaults/Kinput2 あたりを見ればわかります。
そのファイルの mode All セクションに

 "" Zenkaku_Hankaku "" end-conversion goto Hiragana (もしくは Kana 等)

を追加してください。 最後の Hiragana というのはmode名のようです。 同じファイルに書いてあります。

uim

xev などで全角/半角キーのキーコードを調べて ~/.xsession あたりに

xmodmap -e "keycode 49 = Zenkaku_Hankaku"

を書き加える。

または uim-gtk2.0 に含まれる uim-pref-gtk でも設定できます。

$ uim-pref-gtk

全体キー設定 1 -> [全体] オン (オフ) で行ってください。

scim

xev などで全角/半角キーのキーコードを調べて ~/.xsession あたりに

xmodmap -e "keycode 49 = Zenkaku_Hankaku"

を書き加える。

そして設定ツールを起動して、Zenkaku_Hankaku に割り当てます。

$ scim-setup

atokx

xev などで全角/半角キーのキーコードを調べて ~/.xsession あたりに

xmodmap -e "keycode 49 = Zenkaku_Hankaku"

を書き加える。

atokx2 では README.ja に書いてあるとおり、モード変更キーバインドを変更できません。

参考:

[debian-users:43737] sarge で atokx2 半角/全角キーで。
http://lists.debian.or.jp/debian-users/200506/msg00068.html

gdm でログインすると日本語が表示/入力できません

gdm が ~/.xsession を読まないのが原因です。 別途 ~/.gnomerc を用意する必要があります。 てっとり早いのは ~/.xsession を ~/.gnomerc にコピー

$ cp ~/.xsession ~/.gnomerc

もしくはシンボリックリンクを張る

$ cd ~/
$ ln -s .xsession .gnomerc

最近の gdm (>= 2.6.0.8-1) は ~/.xsession を読むようです。

gdm のメニューを日本語にしたい

/etc/default/locale (以前は /etc/default/gdm だったようです) に LANG=ja_JP.EUC-JP などを設定する。
または、

# update-locale LANG=ja_JP.EUC-JP

但し、日本語ロケールの生成の所にある通り、これを行うとシステム全体のロケールが日本語になってしまい、コンソールの文字化けが起こります。

参考:

gdm の一般ユーザのシャットダウン禁止について (2006/05/18)
http://www.imc.cce.i.kyoto-u.ac.jp/~umehara/misc/computer.html#060518

canna の辞書追加もしくは変更

/etc/canna/dics.dir.d/00canna.dics.dir と /etc/canna/default.canna を修正する。
00canna.dics.dir の修正を反映させるには update-canna-dics_dir を実行する。
/var/lib/canna/dic/canna/dics.dir を直接修正しないこと

参考:

canna の設定
http://www.gfd-dennou.org/arch/sugiyama/cc-env/setup/canna.html

X のキーマップを変更したいんだけど

pc101 から jp106 のようなおおまかな変更をする場合は

# dpkg-reconfigure xserver-xfree86

もしくは /etc/X11 の XF86Config-4 又は xorg.conf を直接編集

Section "InputDevice"
(略)
# Option "XkbModel" "pc101"
  Option "XkbModel" "jp106"
(略)
EndSection

のような感じで。

Caps Lock を Control にするなどの細かい変更をする場合は xmodmap で。
ただし ~/.xmodmap は読まれないので ~/.xsession などに直接追加してしまうのが手軽です。

xmodmap -e 'remove Lock = Caps_Lock'
xmodmap -e 'keycode 66 = Control_L'
xmodmap -e 'add Control = Control_L'

のような感じで。 その場で変更する場合はそのままコマンドラインで実行すればオッケー。

フォントの設定がよくわからないんだけど

ややこしいのでメモ。

debian は TrueType フォントを defoma と x-ttcidfont.conf で管理しています。 オフィシャルパッケージでインストールした場合は、それらの管理下にインストールされるはず。

# aptitude install defoma x-ttcidfont-conf

した後は /etc/X11 の XF86Config-4 又は xorg.conf にフォントパスを追加しなければならない事以外、特に手間はかからない。 もちろん xtt モジュール読み込むのも忘れずに。

Section "Files"
        FontPath        "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Section "Module"
#       Load "freetype"
        Load "xtt"
EndSection

TrueType フォントの追加

xft/fontconfig を利用している GTK+2 や Qt アプリなら、フォントパスに指定されているディレクトリ以下にフォントファイルをコピーして

# fc-cache -fv

するだけで使えます。 自分だけ使うなら ~/.fonts ディレクトリを掘って、そこにフォントファイルをコピー。 全ユーザで使いたいなら /usr/local/share/fonts にフォントファイルをコピーしておくと吉。 ちなみにフォントパスはデフォルトだと /usr/share/fonts 以下、/usr/X11R6/lib/X11/fonts/Type1 以下、/usr/local/share/fonts 以下、~/.fonts 以下です。

以下は xft/fontconfig を利用していないアプリで使う場合に必要。 まずヒントファイルの生成します。(dfontmgr でやってもいいかも)

# defoma-hints -c truetype /hoge/fuge/hage.ttf > /etc/defoma/hints/hage.hints

幾つか質問されますが、デフォルトを選択していってもオッケー。
生成したヒントファイルを元に defoma へ登録

# defoma-font -v register-all /etc/defoma/hints/hage.hints

ヒントファイルを書き直した場合などで更新するには

# defoma-font -v reregister-all /etc/defoma/hints/hage.hints

削除するには

# defoma-font unregister-all /etc/defoma/hints/hage.hints

フォントの指定

serif, sans-serif, monospace などのエイリアスを使う事で汎用性のある設定ができます。 アプリケーション側ではエイリアスをフォントとして指定しておけばオッケー。 そうすれば fontconfig 側を変更するだけで、アプリケーション側も一括して変更されます。

serif のフォントを指定してするには ~/.fonts.conf あたりに

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>serif</family>
    <prefer>
      <family>Bitstream Vera Serif</family>
      <family>kochi mincho</family>
    </prefer>
  </alias>
</fontconfig>

のような感じで。 上記のようにフォントを複数指定した場合は、上のフォントをベースに、足りない文字を下のフォントで補完して表示します。

xft2 で日本語フォントを綺麗に表示させる

# dpkg-reconfigure fontconfig

で設定できます。

kochi や sazanami フォントで「オートヒント」を選ぶと、ベースラインがガタガタになってしまい、美しく表示することができません。 「ネイティブ「もしくは「なし」を選んでおいた方が無難です。

xft2 でフォントに埋め込まれたビットマップを表示させる

デフォルトでは、すべてのサイズでアンチエイリアス表示されます。 しかし小さいサイズではビットマップの方が可読性にすぐれているかと思われます。 設定は ~/.fonts.conf 等に

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <test name="family" compare="eq" qual="any">
      <string>sazanami gothic</string>
    </test>
    <test name="pixelsize" compare="more_eq" qual="any">
      <double>8</double>
    </test>
    <test name="pixelsize" compare="less_eq" qual="any">
      <double>21</double>
    </test>
    <edit name="antialias" mode="assign">
      <bool>f</bool>
    </edit>
  </match>
</fontconfig>

この例ではピクセルサイズ 10 〜 21 で埋め込みビットマップが使用されます。 ビットマップが埋め込まれている範囲は fontforge などで調べられます。

日本語 TrueType フォントで太字 (Bold) が表示されない

太字を表示するには太字フォントが必要です。 太字フォントがある場合は ~/.fonts.conf に

<match target="pattern" >
  <test name="family" >
    <string>serif</string>
  </test>
  <test compare="more" name="weight" >
    <const>medium</const>
  </test>
  <edit mode="prepend" name="family" >
    <string>通常フォント名</string>
  </edit>
</match>
<match target="pattern" >
  <test name="family" >
    <string>通常フォント名</string>
  </test>
  <test compare="more" name="weight" >
    <const>medium</const>
  </test>
  <edit mode="assign" name="family" >
    <string>太字フォント名</string>
  </edit>
</match>

太字フォントがなくても KDE のフォント環境を更に充実させようで公開されているパッチを当てる事で表示できます。

通常の文字と区別できればいいという人は ~/.fonts.conf 等に

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "/etc/fonts/fonts.dtd">
<fontconfig>
  <match target="font" >
    <test target="pattern" name="weight" compare="not_eq">
      <const>bold</const>
    </test>
    <edit mode="assign" name="antialias" >
      <bool>f</bool>
    </edit>
  </match>
</fontconfig>

太字を要求された文字はアンチエイリアスがオン、その他はアンチエイリアスがオフになる。

またフォントサブシステムに fontconfig + xft2 を使わなければ表示できます。

GTK+2.2 までなら以下を環境変数を設定

$ export GDK_USE_XFT=0

この設定は Qt や GTK+2.4 以降には効かないので注意。

Monospaceの英語フォントを日本語フォントで代用

IPAGothicのような、英語を表示するのには文字が足りないとfontconfigに判断される日本語フォントを、
デフォルトのmonospaceフォントとして指定すると、日本語と英語で使われるフォントが変わって、
例えばfirefoxでpre要素の内容が行ごとに異なるフォントでレンダリングされて ちっとも等幅じゃなくなったりする問題の解決法。

$HOME/.fonts.confに、

 <!-- Monospaceの英語フォントは日本語フォントで代用 -->
 <match target="pattern">
   <test name="family">
     <string>monospace</string>
   </test>
   <test name="lang">
     <string>en</string>
   </test>

   <edit name="lang" mode="prepend">
     <string>ja</string>
   </edit>
 </match> 

を追加すると、英語フォントが必要な場合でも日本語フォントを使うようになる。

http://pc8.2ch.net/test/read.cgi/linux/1130748494

KDE/Qt で日本語入力がうまくできないんだけど

Qt には変換中の文字が表示されない不具合があります。 それを回避するには ~/.qt/qtrc の General セッションに

[General]
XIMInputStyle=Over The Spot

を追加します。 qt3-tools でも設定できます。

OpenOffice.org で日本語が化ける/表示されない

手動でフォントの置き替えをする必要があるかもしれません。 OpenOffice.org 日本ユーザー会ドキュメントを参考に。

GNOME を使っているのであれば openoffice.org-gnomevfs、KDE を使っているのであれば openoffice.org-kde を利用すると、フォントの設定をそちらでできるようになるので楽かもしれません。

またデスクトップ環境を使っている場合はそちら側のフォントの設定を見にいってしまうらしいです。 フォントの設定で「ユーザインターフェースにシステムフォントを使用」等のチェックを外しましょう。

Windows で作成したファイルを Linux に持ってくると文字化けするなどの問題が発生するので、"MS P ゴシック" を "Kochi Gothic" に置換してみたりしたほうがいいかもしれません。

OpenOffice.org のメニューが文字化けします

# aptitude install openoffice.org-l10n-ja

とインストールして

$ LANG=C openoffice

と実行してください。
あとは、OO.o 日本ユーザー会のドキュメント通りにフォントを置換すればOKです。

  1. まず、一番上のメニューから "Tools" → "Options" (日本語環境では "ツール(T)" → "オプション(O)") と進み設定画面を出してください。
  2. 設定画面一番上の "OpenOffice.org" セクションの 下から4番目 (1.1.0 の場合) にある "Fonts" ("フォント") を選択してください。
  3. "Apply replacement table" ("置換テーブルを使う(A)") のチェックボックスをチェック。
  4. "Font" ("フォントの種類(F)") の下に "Andale Sans UI" と入力。
  5. "Replace with" ("置換候補(P)") の下に "Kochi Gothic" と入力して、すぐ右にある適用ボタンをクリック。
  6. 一番下の一番左にある "OK" をクリック。
  7. LANG=C で起動していた場合は OO.o を再起動してください。

version 2.0.0 以降はメニューの文字化けは起こりませんが、 同様の操作で自分の好みのフォントに置換できます。

Sun JVM (JRE, JDK) で文字化けする

java-package で作成したパッケージをインストールした場合

参考:

[Debian]J2SDK5での日本語文字化けを解消する
http://utyuuzin.net/d/20041225.html
Mozilla用Javaアプレットプラグインの豆腐
http://www.ueda.info.waseda.ac.jp/~nakajima/diary/?200407b&to=200407111#200407111
続・J2RE 1.5 で日本語が豆腐
http://vdr.jp/d/20041019.html
Debian上でJ2SE5(J2SDK5)で日本語を表示
http://tidus.ultimania.org/diary/?date=20041219#p01

Debian Menu が文字化けします

ロケールを EUC-JP から UTF-8 に換えたりすると文字化けする場合があります。 そういう場合はメニューシステムを更新しましょう。

# update-menus

Flash (version 7) で日本語が表示されない

ここでは version 7 に関して記述しています。version 9 では、フォント回りが完全に書き直され、fontconfigが使用されるようになっています。

まず x-ttcidfont-conf と日本語 TrueType フォントをインストールしてください。 日本語 TrueType フォントは、ttf-kochi-gothic でも ttf-mikachan でも何でもよいです。

# aptitude install x-ttcidfont-conf ttf-sazanami-gothic

次に /etc/X11 の XF86Config-4 又は xorg.conf に

Section "Files"
...
 FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
...
  Load "freetype"
EndSection

もしくは

Section "Module"
...
  Load "xtt"
EndSection

があるか確認してください(なければ追加してください)。

これで X を再起動させれば、ちゃんと日本語が表示されるはずです。 それでも一部の日本語が表示されない時は、gs,gsfonts,gsfonts-x11 も入れてみましょう。

x-ttcidfont-conf は fonts.dir ファイルを自前で用意するのであれば必要ありません。 例えば /usr/local/share/fonts/hoge に hoge.ttf と fonts.dir を置いたのならば、/etc/X11 の XF86Config-4 又は xorg.conf の FontPath を

Section "Files"
...
 FontPath "/usr/local/share/fonts/hoge"
EndSection

とすれば OK です。

あと xfs-xtt などの人は、/etc/X11/fs/configのcatalogue = の最後に ,/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType/, を足しておきましょう。

参考:

2006/01/20
http://ukai.org/d/index.cgi?2006-01-20#H-8fpj1y
  • /usr/X11R6/lib/X11/fs/config とか /usr/X11R6/lib/X11/fs-xtt/config がある場合(xfsをインストールしている場合など)
    • catalogue に kochi とかが含まれている fonts.dirがあるディレクトリを指定する。ttf-kochi-gothic, x-ttcidfont-conf をいれている場合は /var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType をcatalogue にいれる。
  • /usr/X11R6/lib/X11/fs/config や /usr/X11R6/lib/X11/fs-xtt/config がない場合
    • libfplashplugin.so は 次のようにして fonts.dirをさがすのでそこにkochiとかが含まれるようにしておけばよい (# ln -s /var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType/fonts.scale /usr/share/fonts/fonts.dir とでもしておけばよい)
      find /usr/share/fonts/ -name fonts.dir
      find /usr/X11R6/lib/X11/fonts -name fonts.dir

gv や ghostscript で日本語を処理できない

そもそも、gs-gpl では日本語を処理できません。 とりあえずは、gs-esp を入れましょう。

あわせて、gs-cjk-resource、cmap-adobe-japan1、ttf-kochi-gothic, ttf-kochi-mincho なども入れましょう。

…で大丈夫だったはずなんですが、バージョンによって問題があるようです。 対処するノウハウは KeN's GNU/Linux Diary gs-esp 8.15.1.dfsg.1-1日本語周り にまとまっているので熟読してみては。

acroread で日本語を読むには

acroread 5.x を使う場合

$ wget -P /tmp ftp://ftp.adobe.com/pub/adobe/acrobatreader/unix/5.x/jpnfont.tar.gz 
# aptitude install acroread acroread-asianfont

でOK。

acroread 7.0 を使う場合 Adobe Readerのダウンロードから 日本語版をダウンロードできます。(Debian パッケージではありません。)

KPDF (GPDF) で日本語を読むには

まず xpdf-japanese をインストールしましょう。その上で、

# .xpdfrc

# kpdf does not read /etc/xpdf/xpdfrc !
include /etc/xpdf/xpdfrc

このようなファイルを ~/.xpdfrc として作ってください。

GPDF の場合でも上記の方法で日本語を表示できるようになります。

参考:

Bug 76302: kpdf cannot display Japanese .pdf files
http://bugs.kde.org/76302

evince で日本語を表示できない

幸運にも、表示したい pdf/ps 文書に TrueType フォントが含まれていなければ、 xpdf-japanese を入れるだけで解決するでしょう。

TrueType フォントの問題は、libpoppler 0.5 で修正されます。

なお、dvi 文書では、日本語は、まだ表示できないようです。 当面、xdvi 等で代替するほかありません。

GNOME で日本語のファイルを作ると一部のアプリでファイルが表示されない

Nautilus 等で日本語名のファイルをつくると、デフォルトでは UTF-8 になります。 なのでシステムのロケールが EUC-JP の場合、ロケールに従っている一部のアプリで表示できなくなります。 ロケールが UTF-8 の場合は問題ありませんが、EUC-JP の場合は

G_FILENAME_ENCODING=@locale

を指定しておくと、システムのロケールに従った日本語名のファイルをつくってくれるようになります。

参考:

[debian-users:42503] Re: gnome-termin alでの文字化けについて
http://lists.debian.or.jp/debian-users/200501/msg00215.html

Firefox 上でモナーフォントを使う方法

ttf-mona (TTF 版のモナーフォント) を使いましょう。 IPA モナーフォントもあります。

kinput2 で一部アプリに日本語を入力できない

そんな場合には ~/.Xresources に

*SeparateConversion.input: false
*selectionShell.input: false
*auxShell.input: false

を追記してみてください。

uim で一部アプリに日本語を入力できない

そんな場合には ~/.Xresources に

#define XIM uim

もしくは

*inputMethod: uim

を追記してみてください。

参考:

運営スタッフblog :: 最新版uimで日本語入力環境を @Debian GNU/Linux sarge
http://desktop.good-day.net/blog/index.cgi/im/install-uim.htm

set-language-env したら uim-pref-gtk の設定が無視されるんだけど

それは ~/.xsession に

UIM_IM_ENGINE=hoge ; export UIM_IM_ENGINE=hoge

と書かれているからです。 uim-pref-gtk で設定したい人は、この行をコメントアウトしましょう。

openbox で文字化けする

一部のテーマが日本語に対応していないのが原因。 文字化けするテーマを

$ cp -r /usr/share/themes/hogehoge .themes/

して、~/.themes/hogehoge/openbox-3/themerc の中の

なんちゃら.font: (フォント名):pixelsize=(サイズ)

のような部分を片っ端から Sans とか日本語フォント名に置き替えればオッケー。

参考:

[debian-users:44180] OpenBoxのメニューの文字化け
http://lists.debian.or.jp/debian-users/200507/msg00238.html

コンソール

コンソールのキーマップを変更したいんだけど

pc101 から jp106 のようなおおまかな変更をする場合は

# dpkg-reconfigure console-data

Caps Lock キーを Control キーにするなどの細かい変更をするなら /etc/console-tools/remap を編集しましょう。 書式は sed です。

s/keycode  58 = Caps_Lock/keycode  58 = Control/;

Control + [ を Escape とするキーマップを追加するなら

/keycode  27 = Meta_braceleft/a        control keycode 27 = Escape

のような感じで。 その場で設定を反映するにはコンソールで

# /etc/init.d/console-screen.sh

X 上ではできません。 キーマップの定義ファイル自体は /etc/console/boottime.kmap.gz なので、これを覗いてみましょう。

コンソールで日本語の表示をするには

sarge をインストールした直後はコンソールで日本語の表示が化けます。

jfbterm が使える環境の場合

  1. フレームバッファドライバを登録する。
    # modprobe vga16fb
    # modprobe fbcon (linux26 でインストールしているか後で linux2.6 に置き換えた場合)
    マシンによっては vga16fb の代わりに vesafb や radeonfb などを使える。うまく動いたようなら、/etc/modules に「vga16fb」「fbcon」の2行を追加しておけば、次回から自動的に読み込まれる。
  2. 日本語コンソールが必要なときには、次のように jfbterm を起動する。
    $ jfbterm -q -c other,EUC-JP,iconv,UTF-8
    すでに UTF-8 環境で使っているなら、-c オプションは必要ない。フォントには unifont がインストールされているので、よく言われているような xfonts-base は必要ない。
  3. 一般ユーザ権限で jfbterm を実行している場合、X の起動はできない。また、X がすでに起動しているときに jfbterm を起動しようとすると、画面がおかしくなる可能性がある。

参照:

Debian Sargeでのコンソールの日本語表示
http://kmuto.jp/d/index.cgi/debian/jfbterm.htm
Sargeにおけるコンソールの日本語処理
http://lists.debian.or.jp/debian-users/200410/msg00010.html

何らかの理由で jfbterm が使えない場合

kon2 が使える場合があります。
それも使えない場合は 以下の方法でシステム標準のロケールを LANG=C にする方法があります。

# dpkg-reconfigure locales

を実行し、どのロケールをシステム標準にするか (Default locale for the system environment) という質問で「なし (None)」を選択します。次に /etc/environment に

LANG=C

を設定または LANG をコメントアウトします。

コンソールで日本語入力するにはどうしたらいいの?

skkfep などをインストールしましょう。

# aptitude install skkfep

skkfep で日本語入力を入力するには

$ skkfep

そして Ctrl+j で。

または sarge 以降なら uim-fep でも日本語入力ができる。 uim-fep を使って skk で入力したい場合は

# aptitude install uim-fep uim-skk
$ UIM_FEP=skk uim-fep

そして Ctrl+j で。

テキストなどに入力したいだけなら日本語入力システムを内蔵したエディタを使う方法もある。 emacs や ng-cjk-canna、jvim-canna などをインストールしよう。

コンソールで文字化けしたディレクトリの中に入れない

目当てのディレクトリのアイノードを確認してから

ls -i | pager

英数字のシンボリックリンクを張ってみる

find -inum アイノード -exec ln -s {} シンボリックリンク名 \;

emacs

emacs で日本語表示するにはどうしたらいいの?

普通は set-language-env で ~/.emacs 等を生成してもらうが…。

(if (featurep 'mule)
    (progn
      (set-language-environment "Japanese")
      (prefer-coding-system 'euc-jp-unix)
      (set-keyboard-coding-system 'euc-jp-unix)
      (if (not window-system) (set-terminal-coding-system 'euc-jp-unix))
      ))
(auto-compression-mode t)
(if (featurep 'xemacs)
    (add-hook 'shell-mode-hook (function
       (lambda () (set-buffer-process-coding-system 'euc-japan 'euc-japan))))
)
(if (file-exists-p "/usr/bin/lgrep")
    (setq grep-command "lgrep -n ")
)

ロケールは EUC のままでも UTF-8 で書かれたファイルを扱いたい場合には、 UTF-8 で使う を参照。

YC (Yet another Canna Client) + canna

# aptitude install yc-el

としてから ~/.emacs に

(load-library "yc")
(global-set-key "\C-o" 'toggle-input-method)
(define-key yc-edit-mode-map "\C-h" 'yc-edit-backward-delete-char)

最後の行は \C-h で BS したい人のみ

skk の設定

emacs で skk を使うには

# aptitude install ddskk skkdic

そして ~/.emacs に

(set-input-method "japanese-skk")
(setq skk-large-jisyo "/usr/share/skk/SKK-JISYO.L")
(toggle-input-method nil)

と書き加える。

anthy の設定

emacs で anthy を使うには

# aptitude install anthy-el

そして ~/.emacs に

(load-library "anthy")
(global-set-key "\C-\\" 'anthy-mode)
(setq default-input-method "japanese-anthy")

もしくは

(set-input-method "japanese-anthy")
(toggle-input-method nil)

と書き加える。

prime の設定

emacs で prime を使うには

# aptitude install prime-el

そして ~/.emacs に

(set-input-method "japanese-prime")
(toggle-input-method nil)

と書き加える。

atokx の設定

emacs で atokx を使う場合は ATOKX - Debian unstableでGO! などを参考に。

t-code の設定

emacs で t-code を使うには

# aptitude install t-code

そして ~/.emacs に

(setq tcode-data-directory "/usr/share/t-code")

と書き加える。

egg+canna で /C-n でのカタカナ変換等ができない

egg じゃなくて YC を使うとか (egg + cannaを使ってemacsで日本語入力をおこなうのは /C-\。漢字変換・カタカナ変換も可)

emacs から mozilla にコピペしたら文字化けするけど

~/.emacs に

(set-language-environment "Japanese")
(set-language-environment-coding-systems "Japanese")

と書いてみるとよろし。


UTF-8 で使う

参照:

DebianUTF8
http://kmuto.jp/open.cgi?DebianUTF8
UTF8BrokenApps
http://wiki.debian.org/UTF8BrokenApps

まずは

ロケールを追加します。

# dpkg-reconfigure locales

で「ja_JP.UTF-8」を追加します。現在ある「ja_JP.EUC-JP」は消す必要ないしUTF-8にはいくつかまだ不都合があるので残しておいたほうがベター。

lv

PAGER に lv を使用してるなら環境変数に LV=-Ou8 を登録(とくに指定してませんが正常に動いてるので、念のためくらいで)。

emacs

emacs21 は、デフォルトでは Unicode のサポートがありません。Unicode をサポートするために mule-ucs を入れてください。あるいは、 unstable のパッケージ emacs-snapshot (将来の emacs22) を入れる手もあります。こちらは、開発中のためバグを多数含んでいる可能性がありますが、デフォルトで Unicode をサポートしているため、 mule-ucs より軽快に動作するようです。

続いて、 ~/.emacs の設定します。よくわからなければ、euc-jp の場合を参考に、 utf-8 に置換しておけば問題ないでしょう。 emacs21 + mule-ucs の場合は、さらに

(require 'un-define)

を追記しておきましょう。

ちなみに、パッケージを使わず、自前でcvsを取って来た場合は、いまのところ emacs21 で byte-compile したファイルが通るようなので、 ~/.emacs に

;; for emacs-dev
(if (not (boundp 'debian-emacs-flavor))
    (if (load "/usr/share/emacs/site-lisp/debian-startup.el" t)
        (progn
          (setq flavor 'emacs21)
          (add-to-list 'load-path "/usr/share/emacs21/site-lisp")
          (add-to-list 'load-path "/usr/local/share/emacs21-dev/site-lisp")
          (debian-startup 'emacs21)
          (debian-startup 'emacs21))))

とでも記しておくと、emacs21のlispがそのまま使えます。 /usr/local/share/emacs21-dev は実際には存在してなくてもいいですが、 debian 特有の startup をだますために必須です。)

VIM

UTF8vim - Debian Wiki を参照。

apt-listchanges

症状
日本語メッセージが化ける。
重要度
表示するメッセージ数が少ないし選択肢が [Y/n] 程度なので、一度 EUC-JP で使ったことがあれば判断できる。
原因
apt-listchanges の日本語カタログは EUC-JP で書かれているが、 python2.3 のgettext API にはメッセージの encoding を現在の locale のそれに変換して 出力する機能は入っていないためにこの問題が発生する。 python2.4 には encoding 変換機能が入っているのでこの問題は起こらないはず。

ファイル名が化ける

ファイル名が EUC-JP や Shift_JIS だと化けます。
convmv パッケージをインストールしましょう。
カレントディレクトリ以下のファイル名を UTF-8 に変更するには、

$ convmv -f euc-jp -t utf8 * --notest
$ convmv -f sjis -t utf8 * --notest

または

$ convmv -f euc-jp -t utf8 -r . --notest
$ convmv -f sjis -t utf8 -r . --notest

とします。
sarge の convmv 場合、 -t の後ろは utf8 ではなく utf-8 として下さい。

また、パッケージ化はされていませんが、似たようなツールに FCC というのがあります。

Shift_JIS(CP932)のファイル名が入っているzipアーカイブは公式のunzipでは
2byte文字をラテンとして処理するため日本語と競合して上手く展開できません。
さとうふみやすさんのWebサイトにパッチの当たったパッケージがあります。

deb http://www.sfo.jp/debian/ sarge unzip-cp932

EUC-JP から UTF-8 に移行する

まずは aptitude install

# aptitude install convmv nkf xterm xfonts-efont-unicode mule-ucs

ja_JP.UTF-8 ロケールを追加

# dpkg-reconfigure locales

で ja_JP.UTF-8 ロケールを追加。ここではまだ ja_JP.EUC-JP ロケールは消さない。

.xsession の編集

language-env で書き換えられた .xsession の先頭に

TERMINAL_EMULATOR=xterm
export TERMINAL_EMULATOR

を書き加える。さらに、5 行目の LANG=ja_JP.EUC-JP を

LANG=ja_JP.UTF-8

に変更。

.Xresources の編集

language-env で書き換えられた .Xresources の最後に

XTerm*utf8: 1
XTerm*wideChars: true
XTerm*locale: true
XTerm*font: -efont-fixed-medium-r-normal--14-140-75-75-c-70-iso10646-1

を書き加える。好みにより、

XTerm*background: white
XTerm*foreground: black

なんかを加えても良い。

.emacs の編集 (emacs21 を使う場合)

language-env で書き換えられた .emacs の 7-9 行目を

(prefer-coding-system 'utf-8-unix)
(set-keyboard-coding-system 'utf-8-unix)
(if (not window-system) (set-terminal-coding-system 'utf-8-unix))

とする。

/etc/fstab の書き換え

vfat ファイルシステムをマウントする場合、

iocharset=euc-jp

iocharset=utf8

に書き換える。

ntfs ファイルシステムをマウントする場合、

nls=euc-jp

nls=utf8

に書き換える。
ntfs では iocharset オプションは deprecated である (kernel 2.6; Documentation/filesystems/ntfs.txt 参照)。
kernel 2.6.18 現在ではまだオプションは廃止されていないが、以下の様な警告が syslog (dmesg) に出る。

Nov 01 10:00:00 hoge kernel: NTFS-fs warning (device hda1): parse_options(): Option iocharset is deprecated. \
Please use option nls=<charsetname> in the future.

FAT ファイルシステムをマウントすると dmesg に以下のように表示される

FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!

マウントオプションを以下のようにすべきではないだろうか

iocharset=utf8 → utf8

samba の設定 (samba を使っている場合)

/etc/samba/smb.conf の

unix charset = EUCJP-MS

の行を

unix charset = UTF-8

に書き換える。さらに

# /etc/init.d/samba reload

日本語ファイル名の変換

$ convmv -r -f euc-jp -t utf-8 <target_dir> --notest

日本語テキストファイルの変換

$ nkf --overwrite -Ew <text_files>

最後に

完全に移行するつもりならば、ja_JP.EUC-JP ロケールを消す。

# dpkg-reconfigure locales

Xの再起動。


その他

wnn7 や vje-delta がインストールできない

XFree86-4.3.0 以降では xlib6g をサポートしなくなった事が原因らしい。

回避案1
依存関係を無視してインストール
# dpkg -i --ignore-depends=xlib6g wnn7-server_1.01-1_i386.deb
回避案2
debian/control を書き直す
# dpkg-deb -x wnn7-server*.deb wnn7-server
# dpkg-deb -e wnn7-server*.deb wnn7-server/DEBIAN
wnn7-server_1.01-2_i386/DEBIAN/control の depend の行にある xlib6g のところを xlibs, libxaw6 に書き換えて
# dpkg-deb -b wnn7-server wnn7-server_1.01-2_i386.deb
# dpkg -i wnn7-server_1.01-2_i386.deb
回避案3
関係パッケージを hold しておく。

参考:

[debian-users:39770] Wnn7 の debianパッケージ onsid
http://lists.debian.or.jp/debian-users/200403/msg00045.html

sarge の squirrelmail で文字化けする

squirrelmail (php4?) のバグです。 このパッチを当てれば直ります。

参考:

[debian-users:43779] php4が文字化けする
http://lists.debian.or.jp/debian-users/200506/msg00110.html

どうしても解決しないのであれば、 functions/i18n.phpに 「$detect_encoding == 'UTF-8'」 が2ヶ所あるので、 それを下記のようにコメントアウトしてください。

if ($detect_encoding == 'JIS' ||
    $detect_encoding == 'EUC-JP' ||
    //$detect_encoding == 'SJIS' ||
    //$detect_encoding == 'UTF-8') {
    $detect_encoding == 'SJIS') {


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-07-27 (金) 22:00:03 (3796d)