プログラミングなんてわからないんですけど〜

元プログラマによるプライベートでのプログラミング日記。1/3のつもりだけどソフト関連はここがメイン

Arch Linuxのコンソールで日本語環境を作る

ThinkPad X201にArch Linuxをインストールしたが、ひとまず最低限のシステムだけなのでこれから日本語環境を作っていく。
GUIを入れれば楽だがX201の狭い画面でGUIはいまさら使いたくないので、コンソールを日本語対応にする。

まずはrootになってから作業。ロケールにja_JP.UTF-8を設定していない場合は、/etc/locale.genを編集してlocale-genコマンドを実行。

まずはkmsconの導入から。
wiki.archlinux.org

pacman -S kmscon

今回はtty1は置き換えないので次のコマンドを実行。

ln -s /usr/lib/systemd/system/kmsconvt\@.service /etc/systemd/system/autovt\@.service

これで再起動後tty2以降がkmsconになる。tty1は置き換えないので、英語のみで使う場合はtty1で入ればよい。
次にフォントは、日本語フォントなどをインストール。

pacman -S ttf-dejavu otf-ipafont

wiki.archlinux.jp
こちらの記事では日本語ユーザー向けにフォント設定が置き換えられている。

フォント指定は以下のファイルに書いておく。
/etc/fonts/conf.d/99-kmscon.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match>
        <test name="family"><string>monospace</string></test>
        <edit name="family" mode="prepend" binding="strong">
                <string>DejaVu Sans Mono</string>
                <string>IPAGothic</string>
        </edit>
</match>
</fontconfig>

ここまで出来たらひとまずreboot。
起動直後はログイン画面はこんな感じ。

f:id:kaias1jp:20210111141231j:plain

Alt+F2でこんな感じに切り替わればOK。

f:id:kaias1jp:20210111141323j:plain

実は日本語キーボードを使っているとこれだけでは不十分。以下のファイルにキーボードレイアウトの指定が必要。フォルダがないからまずは作成しておく。

mkdir /etc/kmscon

/etc/kmscon/kmscon.conf

xkb-layout=jp

qiita.com

あとはロケールを日本語に切り替えれば表示できるはず。試しに一時的に切り替えてみる。

export LANG=ja_JP.UTF-8
date

「xxxx年xx月xx日~」という風に表示されるはず。あくまで一時的なものであるのでなんとかする。ひとまず、自分のみ切り替えることを前提に.bashrcに以下の内容を書き込んでみる。

vi ~/.bashrc

.bashrcの最終行に追加

[[ -n "$COLORTERM" ]] && export LANG=ja_JP.UTF-8

COLORTERM環境変数は今回の場合kmsconの時に設定されるので、その時だけ日本語にする。
dream-yt.github.io

本当に日本語表示が出来ているかを確認したいときはテキストブラウザを使うと良い。例えばw3m

sudo pacman -S w3m

googleの日本語のページを見てみる。

w3m https://www.google.co.jp

f:id:kaias1jp:20210111150539j:plain

qキーで終了できる。

次に日本語入力だが、エディタに縛られない方法としてuim-mozcを使用してみる。
以下の記事を参照してみた。
qiita.com

記事ではemacs限定だが、今回はそれは無しで。

sudo pacman -S uim

さて、ここから先はyayも使う。そのため、まずはyayを導入する。
furuya7.hatenablog.com

sudo pacman -Syu base-devel git go

base-develグループのものはすべて入れてしまう。あとはyayをインストールする。

cd
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

つぎはmozcの導入。uim-mozc-ut2を使ってみる。

cd
sudo pacman -Syu gtk2

mozc-ut2のビルドでgtk2が必要になるのでインストールしている。
さて、uim-mozc-ut2はyayではうまく入らない。mozc-ut2パッケージに対して手動でPKGBUILDファイルを書き換えてインストールしないといけないようだ。

cd
yay -G mozc-ut2
cd mozc-ut2
vi PKGBUILD

「_ibus_mozc="yes"」を「#」でコメントアウト。「_uim_mozc="yes"」の「#」を削除する。「:wq」で保存。あとはパッケージを作成してインストール。

makepkg -si

なお、uimのアップグレードがある場合は「sudo uim-module-manager --register mozc」を実行しないといけないようだ。

次はuimの設定。以下のページを参照した。
qiita.com

mozcを使用するように指定。

~/.uim

(define default-im-name 'mozc)
(define-key generic-on-key? '("<Control> "))
(define-key generic-off-key? '("<Control> "))

これでuimでmozcが使えるようになった。次のコマンドを実行するとuim-mozc-ut2が有効になる。

uim-fep

左下にこのような表示が出ればOK。

f:id:kaias1jp:20210111171607j:plain

[Ctrl]+[space]キーでmozcのON/OFFが切り替えられる。

f:id:kaias1jp:20210111171757j:plain

有効になれば「あ」が表示される。この状態で例えば「ばーじょん」と打ってSpaceキーで変換すると変換できる。変換候補に「Mozc-UT2-2.23.2815.102+24.2.oss」みたいなのがでればmozc-ut2が使えていることになる。
なお、この状態では画面が乱れるので実用的ではない。どうやらscreenやtmuxなどを呼び出してからuim-fepすると良いようだ。今回はtmuxをインストールする。

sudo pacman -S tmux

もし、uim-fepを有効にしたままなら一度「exit」で終了させてから「tmux」を実行。再度「uim-fep」を実行すると画面が乱れることなく入力できるようになる。
ひとまずこれで完了。

f:id:kaias1jp:20210111172929j:plain

これは、私が運用している「https://simplehtmlclient.app」というサービス経由でmastodonのサーバに接続したケース。ちなみに日本語での書き込みもできる。なお、この時点では絵文字が表示されないがクライアント側の問題なのでまた別エントリで。