The second choice is canna, and kinput2. For NetBSD, you will also need a terminal capable of displaying Japanese. If you are unsure how to find these programs in your distribution, take a quick look at our software guide for information about getting and installing the items.
If you are running a distribution that doesn't work with scim and anthy and doesn't have a package for kinput2 and canna, you might find our vanilla kinput-canna tarball useful. Download it here take a quick look at our guide on installing from source then read on to step two, where we give a bit more information.
However, it is at least worth trying to get scim and anthy to work. Scim can be downloaded here, anthy here (choose anthy, not anthy-ss and choose the latest version) and scim-anthy here.
One might also need Japanese fonts. Some kochi fonts are available here. You want the package called kochi-substitute-20030809.tar.bz2
tar -zxvf anthy-6700.tar.gz cd anthy-6700 ./configure --prefix=/usr && make && make install |
Follow the same procedure for scim and scim-anthy, in the order given, that is, anthy first, then scim then scim-anthy. If you have to use our vanilla tarball, then do the following to install canna and kinput2.
tar -jxvf vanillajpn.tar.bz2 tar -zxvf Canna* tar -zxvf kinput cd Canna36p1 xmkmf make Makefile make canna make install make install.man |
Next, kinput2.
Do a cd back to the directory in which you untarred it and then
cd kinput2-v3.1-beta3 xmkmf make Makefile make depend make make install |
In most cases, you will want cannaserver to start upon bootup. This varies with each distribution, so hopefully you know how to do it with yours. If not, check out our QND guide about running a program upon boot and see if your distribution is mentioned there.
On some distributions, the cannaserver installed from our vanilla package will, after being started, echo Terminated back to the console. However it is still running and the line can be ignored.
Next the kochi fonts. Untar it.
tar -jxvf kochi-substitute-20030809.tar.bz2 |
In the kochi-substitute-20030809 directory, you will see gothic and mincho fonts, they have a .ttf extension on the end of their names. Move them to /usr/X11R6/lib/X11/fonts/TrueType if you have it, otherwise, put them in /usr/X11R6/lib/X11/fonts/TTF.
export XMODIFIERS='@im=SCIM' export GT_IM_MODULE='scim' export QT_IM_MODULE='scim' export LC_CTYPE=ja_JP.utf8 scim -d |
If using the kinput2 canna combination
export XMODIFIERS='@im=kinput2' export LC_CTYPE=ja_JP.utf8 kinput2 -canna & |
Note that these lines come before you call your window manager. The last line of your .xinitrc should be the exec fluxbox, startkde or whatever command you use to call your window manager.
The LC_CTYPE variable is case sensitive. The majority of Linux distributions use ja_JP.utf8 but some don't. To check this do
locale -a | grep ja_JP |
If it comes out something like ja_JP.UTF-8 use that rather than utf8.
For FreeBSD 5.x and later it is ja_JP.UTF-8. In FreeBSD's case, you can simply cd into /usr/ports/japanese/scim-anthy and type make install clean. This will install both scim and anthy.
The default way to call scim-anthy is with ctl+space, kinput2-canna is called with shift+space.
Fire up X. In all but NetBSD, covered below, open up a uxterm. If using kinput2 hit shift+space and you should see a hiragana a. Type a word in romaji and hiragana should show up on the screen. If you hit space, it will select kanji.
With scim anthy, hit ctl+space and you should see a little widget in the lower right of your screen. It should do the same thing, show hiragana. When you hit the space bar, kanji should be selected.
If using scim and you only see dotted squares, this means that for some reason, scim can't find the appropriate fonts. (This happened to me once with Vector Linux, an offshoot of Slack, though not Slackware itself.) If you select what you want and hit enter, the correct Japanese will show up in the terminal, however, you are probably better off using the kinput2 canna combination.
Sometimes, the terminal itself will not properly display Japanese, but if you open up vim (and it seems that it has to be vim, not elvis or nvi) Japanese should display properly. Most other applications, such as OpenOffice, firefox and the various mail clients such as sylpheed, should also work.
RedHat
At present, if you choose to install Japanese support upon
installation of
RedHat, Fedora and its clones, it still installs
canna. However, at least in Fedora Core 4, scim, anthy and
scim-anthy are available. So first stop canna and remove it, then
install scim, anthy and scim-anthy.
pkill cannaserver yum remove Canna yum install scim-anthy |
As Fedora boots into X by default, you want to define the necessary variables in your .bash_profile. Add to your bash_profile
export XMODIFIERS='@im=SCIM' export GTK_IM_MODULE='scim' export QT_IM_MODULE='scim' export LC_CTYPE=ja_JP.utf8 scim -d |
ArchLinux.
ArchLinux's version of the packages work out of the box.
pacman -Sy scim-anthy |
Then add the lines mentioned above to your .xinitrc and it Just Works(TM). You can also add fonts.
pacman -Sy ttf-arphic-uming ttf-arphic-ukai |
Note that as of early March, 2006, there is a new glibc package that doesn't include locales. Desired locales should be created using locale-gen. If you go into /etc/locale.gen you'll see a list of locales all commented out. Uncomment the ones you want, for example, en_US.UTF8 UTF-8, ja_JP.UTF8 UTF-8 and then, at a command prompt type
locale-gen |
You should see a message that the desired locales were created.
Gentoo.
There is a rather detailed howto, that is kept current, on the
Gentoo forums. It can be found here.
Kevin W. (AKA sandcrawler on Gentoo Forums) was kind enough to send me his mini Gentoo howto.
He added the following USE variables
immqt-bc nls cjk unicode |
Then
emerge --newuse world |
Emerge the necessary programs
emerge scim anthy scim-anthy scim-qtimm |
He added the following to his .bash_profile
export XMODIFIERS='@im=SCIM' export GTK_IM_MODULE="scim" export QT_IM_MODULE="scim" export LC_CTYPE=jsa_JP.utf8 scim -f socket -c socket -d |
(If not booting into X, you might leave off the scim line and put it in .xinitrc or whatever file you use to start X.)
This enables him to input Japanese in most applications.
Slackware
If you didn't install the glibc-i18n libraries during installation,
you will have to grab the installation cd and install them.
(They're in the l directory. Note that is a lower case L, not the
numeral "one").
Slackware's default vi editor is elvis. You will have to install vim to get Japanese to display properly in a vi type editor.
Vector.
Although scim, anthy and scim-anthy compile in Vector, they don't
display the input dialog properly, unless the gimp is installed.
I'm not sure which packages the gimp includes that make it work,
but in any case, when I installed it without choosing to install
the gimp, I would get dotted squares instead of hiragana. According
to the scim faq, this means that scim can't find the fonts,
however, once I hit enter, hiragana would display in the term
window. I never did solve this, and just put in the gimp.
Afterwards, I could deinstall gimp with removepkg and it still
worked.
Like Slack, Vector uses elvis as its default editor. If you need Japanese in a text editor, for instance, with mutt, you should install vim. It doesn't seem available in the Vector package repository, however, one can simply go to Slackware's package search site and find it there.
Debian and its derivatives (Mepis, Ubuntu, etc)
There is a brief but useful howto for Ubuntu that should work with
almost all Debian based distrbutions. It can be found here on their
forums.
Note that Debian's default vi editor is not vim. As mentioned above, sometimes, in xterms, things only work in vim, so you may want to install it with apt-get install vim
As of Ubuntu's Dapper flight 3 scim-anthy is available.FreeBSD
FreeBSD's default vi editor is nvi. Once again, I recommend, if you
plan to use Japanese in xterms (as opposed to web browsers and the
like) you install vim-lite.
NetBSD
NetBSD 2.x doesn't have the ja_JP.UTF-8 locale in the base
distribution. The easiest workaround is to use euc. It also doesn't
have the scim-anthy packages. Instead, it has anthy and uim. The
packages are in /usr/pkgsrc/inputmethod.
cd /usr/pkgsrc/inputmethod/anthy make install clean cd ../uim make PKG_OPTIONS.uim="-canna" install clean |
If you wish to use UTF-8, I've had the best luck with rxvt-unicode in /usr/pkgsrc/x11. In your .xinitrc, before the line calling the window manager, if you were using rxvt, mrxvt or another euc but not UTF-8 capapble terminal
export LC_CTYPE=ja_JP.eucJP export XMODIFIERS=@im=uim uim-xim --engine=anthy & |
Once you have started X, hitting shift+space will enable you to input Japanese. To turn off Japanese input, hit shift+space again.
If you wish to use UTF-8, then you may have to generate a ja_JP.UTF-8 locale. Download en_US.UTF-8.src from ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/share/local/ctype/
Then, assuming your user name is joe and you downloaded it into your home directory, as root or with root privilege
cd /usr/share/locale mklocale < /home/joe/en_US.UTF-8.src > ja_JP.UTF-8 |
After that, you can use it with urxvt. Regardless of whether you use euc or UTF-8, it's invoked by hitting shift-space.
(It may or may not be necessary to generate the ja_JP.UTF-8 locale--I've had mixed results. In general, using en_US.UTF-8 as my LC_CTYPE, I'm able to input Japanese in urxvt.)
(The scim and scim-anthy packages are now available in NetBSD's Works In Progress collection.)
If you choose to use kinput2 and canna, it is best done in this order, with the options done as shown.
cd /usr/pkgsrc/inputmethod/canna make install clean cd ../kinput2 make PKG_OPTIONS.kinput2="-sj3 -wnn" install clean |
if you use euc rather than utf8, the LC_CTYPE in your .xinitrc file should read
export LC_CTYPE=ja_JP.eucJP |
kinput2 -canna & export XFILESEARCHPATH=/usr/pkg/lib/X11/app-defaults/Kinput2 |
The uxterm doesn't work with euc, so you also have to install an xterm that can handle it. If you use rxvt after installation, you have to edit /usr/pkg/lib/X11/app-defaults/Rxvt. You will see several lines marked !Rxvt.multichar_encoding
Remove the ! from the line that has eucj at the end. Also, put a ! at the beginning of the top line, which ends with noenc.
My own opinion is that as of NetBSD 3.x in December 2005, the eucJP fonts are far easier on the eyes than the UTF-8 ones.Actually, I prefer mrxvt to rxvt. If one chooses to use that, then you have to slightly edit the Makefile. You'll see a section of CONFIGURE_ARGS+=. Add the following to it
CONFIGURE_ARGS+= --enable-xim CONFIGURE_ARGS+= --enable-cjk CONFIGURE_ARGS+= --with-encoding=eucjp |
DragonFlyBSD
DragonFly uses NetBSD's pkgsrc, so the instructions are almost identical
to those for NetBSD. Unlike NetBSD, it does have ja_JP.UTF-8 installed
by default. Those familiar with DF will also know to type bmake rather
than make when following the instructions above.
Congratulations, you're done. Hopefully, you can now input Japanese in your *nix system.
References My page on
Japanese input.
I have a far more detailed page on this, with links to other
people's pages as well.