Rust製のGPUで高速レンダリングするターミナルエミュレータAlacrittyを使ってみたので、インストール方法と設定方法をまとめました。
Alacrittyの特徴
alacrittyの特徴としては以下の3つです。
- GPUでレンダリングが高速化されている
- クロスプラットホーム(Windows, MacOS, Linux)
.alacritty.yml
で手軽に設定が書ける
特にパフォーマンスに関しては凄まじく良くなっていて、gnome-terminal
で感じていたモッサリ感やスクロール時のカクつきが完全になくなり、メモリの消費量も大幅に減りました。正直、デフォルトのターミナルをAlacrittyにしてもいいのでは?と思えるほどの完成度です。
AlacrittyのInstall方法
公式のInstall手順は以下に載っています。ただ、少し長いのでこの記事ではUbuntu向けに必要な部分だけを抜粋します。
Alacrittyをお手軽にインストールする
とりあえず、動かして試してみたいという方は以下のコマンドだけでalacrittyをインストールできます。 以下の方法ではコマンドの補完やデスクトップエントリーなどは設定できませんが、ざっくりと動かす分には問題ありません。
まずはビルドするのに必要なパッケージをインストールします。
sudo apt install cmake pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev python3
cargo
でalacrittyをインストールします。 cargo
を入れていない場合は、まず下のコマンドで rustup
と cargo
をインストールします。
curl --proto '=https' --tlsv1.2 -sSf <https://sh.rustup.rs> | sh -s -- -y
cargo
が入ったら、下のコマンドでalacrittyをインストールします。
cargo install alacritty
これで alacritty
を起動できます。

AlacrittyをFull Installする
Alacrittyをフルインストールするにはリポジトリをビルドする必要があります。Full Installすることで以下の機能が使えるようになります。
alacritty
コマンドの補完alacritty
コマンドのマニュアル- terminfoの追加(端末内で正常に色を表示するために必要です)
- デスクトップエントリー(UbuntuのDockにアイコンを表示できるようになります)
まず、リポジトリをクローンしてきます。
git clone https://github.com/alacritty/alacritty.git
cd alacritty
下のコマンドでrustupとcargoをインストールします。
curl --proto '=https' --tlsv1.2 -sSf <https://sh.rustup.rs> | sh -s -- -y
下のコマンドでrustupをupdateします。
rustup override set stable
rustup update stable
下のコマンドでbuild dependenciesをインストールします。
sudo apt install cmake pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev python3
下のコマンドでalacrittyをビルドします。
cargo build --release
ビルドが終わったら、下のコマンドでterminfoのチェックをします。
infocmp alacritty
エラーがでなければ成功です。
エラーが出るなら以下のコマンドでterminfoを設定します。
sudo tic -xe alacritty,alacritty-direct extra/alacritty.info
以下のコマンドでDesktop entry(デスクトップ上のショートカット)を登録します。
sudo cp target/release/alacritty /usr/local/bin # or anywhere else in $PATH
sudo cp extra/logo/alacritty-term.svg /usr/share/pixmaps/Alacritty.svg
sudo desktop-file-install extra/linux/Alacritty.desktop
sudo update-desktop-database
下のコマンドでmanualを追加します。
sudo mkdir -p /usr/local/share/man/man1
gzip -c extra/alacritty.man | sudo tee /usr/local/share/man/man1/alacritty.1.gz > /dev/null
下のコマンドでalacrittyのコマンド補完を追加します。
echo "source $(pwd)/extra/completions/alacritty.bash" >> ~/.bashrc
Alacritty Settings
alacrittyの設定はalacritty.yml
に書きます。ファイルは以下のパスのうちのいずれかに配置します。
$XDG_CONFIG_HOME/alacritty/alacritty.yml
$XDG_CONFIG_HOME/alacritty.yml
$HOME/.config/alacritty/alacritty.yml
$HOME/.alacritty.yml
Alacrittyをデフォルトの端末にする
以下の手順でAlacrittyをデフォルトの端末に設定し、Ctrl+Alt+tでAlacrittyが開くようにします。
下のコマンドでx-terminal-emulatorのalacrittyの優先度を50に設定します。
sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/local/bin/alacritty 50
以下のコマンドで設定状況を確認できます。
sudo update-alternatives --display x-terminal-emulator
Alacrittyの優先度が他の端末より大きければ問題ありません。
以下のコマンドでCLI上で優先度を変更できます。
sudo update-alternatives --config x-terminal-emulator
やっぱり、デフォルトはgnome-terminalかなぁと思ったら、以下のコマンドでalacrittyをalternativesから消せます。
sudo update-alternatives --remove "x-terminal-emulator" "/usr/local/bin/alacritty"
Alacrittyでtmux, NeoVimにTrue colorを設定する
特に設定しない場合、tmux上で開いたNeoVimの :checkhealth
には以下のようなエラーが表示されます。
WARNING: Neither Tc nor RGB capability set.
True colors are disabled. |'termguicolors'| won't work properly.
~/.config/alacitty/alacritty.ymlに以下を追加します。
env:
TERM: alacritty
~/.tmux.confに以下を追加します。
set -g default-terminal "screen-256color"
set-option -sa terminal-overrides ',alacritty:RGB'
詳しくはこちらのIssueをご覧ください。
これでtmux上のNeoVimも正常な色で表示されるようになります。
Alacrittyにカラースキームを設定する
公式のWikiに代表的なカラースキームが載っているので参考にしてみてください。
ここではOne Darkを設定します。
~/.config/alacritty/alacritty.ymlに以下を追加します。
# Colors (One Dark)
colors:
# Default colors
primary:
background: '#282c34'
foreground: '#abb2bf'
# Normal colors
normal:
# NOTE: Use '#131613' for the black
color if you'd like to see
# black text on the background.
black: '#282c34'
red: '#e06c75'
green: '#98c379'
yellow: '#d19a66'
blue: '#61afef'
magenta: '#c678dd'
cyan: '#56b6c2'
white: '#abb2bf'
# Bright colors
bright:
black: '#5c6370'
red: '#e06c75'
green: '#98c379'
yellow: '#d19a66'
blue: '#61afef'
magenta: '#c678dd'
cyan: '#56b6c2'
white: '#ffffff'
Fontサイズを変更する
~/.config/alacritty/alacritty.yml
に以下を追加します。
font:
size: 13
デフォルトは11ですが、少し小さいので13を指定しています。
最近、Rustで既存のCLIツールを高速化・高機能化する流れが出てきています。 ls
よりも圧倒的に使いやすくなった exa
というRust製のツールも便利なので合わせて使ってみてください。
コメント