カテゴリー
FreeBSD

rxvt-unicodeできれいなターミナルを使う

概要

FreeBSDに限った話ではないが、快適な日常生活を送る上できれいなターミナルを作ることは精神衛生上不可欠と言って過言ではない。多言語対応しているターミナルrxvt-unicodeとRictyフォントをインストールし、ターミナルの色をかっこよくカスタマイズする。

目次

  • rxvt-unicodeのインストール
  • Rictyフォントのインストール
  • ターミナルの設定
  • ターミナルの色を確認
  • X起動時の設定
  • まとめと余談

rxvt-unicodeのインストール

FreeBSDではバイナリパッケージが用意されている。次のコマンドでインストールする。

sudo pkg install rxvt-unicode

インストール後、 urxvt で起動できるが、デフォルト設定では味気ない感じ。ここからフォントや色を設定する。

Rictyフォントのインストール

フォントの生成に必要なfontforgeをインストールし、ベースとなるフォント2種類をダウンロードしておく。

sudo pkg install fontforge
  • ここ から画面右上 Download family をクリックしてInconsolataをダウンロード。
  • ここ から Migu 1M をダウンロード。

ダウンロードした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 を使うと、自分好みのターミナルの色構成を簡単に作れそう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA