概要
FreeBSDに限った話ではないが、快適な日常生活を送る上できれいなターミナルを作ることは精神衛生上不可欠と言って過言ではない。多言語対応しているターミナルrxvt-unicodeとRictyフォントをインストールし、ターミナルの色をかっこよくカスタマイズする。
目次
- rxvt-unicodeのインストール
- Rictyフォントのインストール
- ターミナルの設定
- ターミナルの色を確認
- X起動時の設定
- まとめと余談
rxvt-unicodeのインストール
FreeBSDではバイナリパッケージが用意されている。次のコマンドでインストールする。
sudo pkg install rxvt-unicode
インストール後、 urxvt で起動できるが、デフォルト設定では味気ない感じ。ここからフォントや色を設定する。
Rictyフォントのインストール
フォントの生成に必要なfontforgeをインストールし、ベースとなるフォント2種類をダウンロードしておく。
sudo pkg install fontforge
ダウンロードした2つのzipファイルとRicty生成用のスクリプトを同一ディレクトリに配置し、zipを展開した上で生成スクリプトを実行する。これで作業ディレクトリにRictyフォントが出力される。
# Rictyフォントを生成
mkdir ricty
cd ricty
wget https://rictyfonts.github.io/files/ricty_generator.sh
mv ~/Downloads/Inconsolata.zip .
mv ~/Downloads/migu-1m-20200307.zip .
unzip Inconsolata.zip
unzip migu-1m-20200307.zip
bash ./ricty_generator.sh auto
フォントが生成できたら、 ~/.fonts に入れてフォントキャッシュを更新する。これで、Rictyフォントを使う準備は終了。
# 生成されたフォントを ~/.fonts に配置
mkdir -p ~/.fonts
mv Ricty*.ttf ~/.fonts
cd ~/.fonts
# Xに登録
mkfontscale
mkfontdir
fc-cache -fv
ターミナルの設定
rxvt-unicodeの設定をする。下記を ~/.Xresources に保存する。カラーテーマは xero/sourcerer で公開されているものを利用した。
! disable ISO14755
URxvt.iso14755: false
URxvt.iso14755_52: false
! disable perl extension
URxvt.perl-ext:
URxvt.perl-ext-common:
! disable scroll buffer
URxvt.secondaryScreen: 1
URxvt.secondaryScroll: 0
! use Ricty font
URxvt.font: xft:Ricty:size=18
URxvt.scrollBar: false
! terminal color scheme
! cf. https://github.com/xero/sourcerer/blob/master/sourcerer.Xresources
URxvt.foreground: #c2c2b0
URxvt.background: #222222
URxvt.cursorColor: #c2c2b0
URxvt.color0: #111111
URxvt.color8: #181818
URxvt.color1: #aa4450
URxvt.color9: #ff6a6a
URxvt.color2: #719611
URxvt.color10: #b1d631
URxvt.color3: #ff9800
URxvt.color11: #87875f
URxvt.color4: #6688aa
URxvt.color12: #90b0d1
URxvt.color5: #8f6f8f
URxvt.color13: #8181a6
URxvt.color6: #528b8b
URxvt.color14: #87ceeb
URxvt.color7: #d3d3d3
URxvt.color15: #c1cdc1
URxvt.colorIT: #719611
URxvt.colorBD: #d3d3d3
URxvt.colorUL: #528b8b
上記の設定は、xrdbコマンドを叩いて反映させる。
xrdb -load ~/.Xresources
ターミナルの色を確認
ここ から下記スクリプトをコピーして実行した。この時点で、記事冒頭に貼ってあるターミナル画面が表示される。
#!/bin/bash
#
# This file echoes a bunch of color codes to the
# terminal to demonstrate what's available. Each
# line is the color code of one forground color,
# out of 17 (default + 16 escapes), followed by a
# test use of that color on all nine background
# colors (default + 8 escapes).
#
T='gYw' # The test text
echo -e "\n 40m 41m 42m 43m\
44m 45m 46m 47m";
for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \
'1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \
' 36m' '1;36m' ' 37m' '1;37m';
do FG=${FGs// /}
echo -en " $FGs \033[$FG $T "
for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
do echo -en "$EINS \033[$FG\033[$BG $T \033[0m";
done
echo;
done
echo
X起動時の設定
ここまでで、 ~/.xinitrc は次のようになった。ロケールの設定をUTF-8のものに設定しておかないと、ターミナルで日本語が表示できないため注意すること。
また、urxvtはクライアント・サーバ型で動かすことができ、ターミナルの起動にかかる時間を短縮できる。下記では、X起動時に urxvtd -q -f -o でサーバを起動している。ターミナル起動時に urxvt の代わりに urxvtc コマンドを利用すると、ターミナルがクライアントとして立ち上がる。
# ロケール設定
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
# ~/.Xresourcesを読み込む
xrdb -load ~/.Xresources
# キーボードの入力速度を調整
xset r rate 250 40
# XorgのBellを無効化
xset -b
# 日本語入力設定
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=xim
export XMODIFIERS=@im=fcitx
/usr/local/bin/mozc start
fcitx -r -d
# urxvtのデーモンを起動、クライアントはurxvtcで起動する
urxvtd -q -f -o
# awesomeを起動
exec awesome
まとめと余談
rxvt-unicode にフォントと色の設定を追加し、クライアント・サーバ型で動くよう ~/.xinitrc を書いた。きれいに表示されるターミナルは使っていて気持ちが良いですね。
余談: 4bit Terminal Color Scheme Designer を使うと、自分好みのターミナルの色構成を簡単に作れそう。