Amazon オーディブル2ヶ月無料キャンペーン中 5/9まで

【Mac】Rust製の高速ターミナル:Alacrittyの設定

8 min

こんにちは。ナミレリです。

以前の記事では、Rust製のStarshipやRust製のexaripgrepなどのコマンドを紹介しました。Rust製のツールはシンプルで高速なのはもちろん、とても今風です。

以前の記事はこちら

今回はそのRust製のターミナルソフトであるAlacrittyの魅力を紹介し、Alacrittyの設定方法やカスタマイズ方法を詳しく紹介していきます。

この記事はこんな人にオススメ

  • 新しいターミナルソフトを探しているユーザー
  • 性能や応答速度を重視するユーザー
  • カスタマイズ性を求めるユーザー
  • RustやGPUアクセラレーションに興味があるユーザー
  • MacのデフォルトのTerminalやiTerm2からの乗り換えを考えているユーザー
この記事の環境
Parallelsのホスト
  • MacBook Pro 14インチ M1Max(メモリ32GB)
  • macOS Ventura 13.5.2
  • Parallels Desktop 19 for Mac(Parallelsの公式サイト
  • Alacritty 0.12.2
Parallels 19 for Macの無料トライアル もありますので、ぜひダウンロードして試してみてください。M1/M2/M3のMac上で快適にMacやUbuntu、Windowsが動作します。
NEW Parallels Desktop 19 for Mac

Parallels Desktop 19 for Macは、M1/M2/M3のMac上で快適にMacやUbuntu、Windowsが動作します。

14日間の無料トライアルもありますので、ぜひダウンロードして試してみてください。

Alacrittyって何?

alacrittyの名前ですが、英語のalacrityからの派生のようです。英語で俊敏、機敏、活気などの意味を持つ単語で、それからも分かる通りalacrittyはターミナルが高速でレスポンスが速い!という意味を込められているのだと思います。ちなみに読み方は「アラクリッティ」です。

そんなalacrittyですが、近年注目を集めているターミナルソフトウェアの一つです。最大の特徴や魅力は、Rustで開発されていてGPUアクセラレーションを活用して高速に動作することです。

alacrittyの特徴

高速性GPUアクセラレーション使用して、滑らかなスクロールや高速な描画を実現
シンプル不要な機能を排除しターミナルとしての核心的な機能に特化
カスタマイズ性設定ファイルで見た目や動作を細かくカスタマイズ可能
クロスプラットフォーム: macOSのみならず、WindowsやLinuxBSDにも対応

alacrittyのデメリットをあげるのであれば、他のターミナルソフトには実装されているタブ機能やウィンドウの分割機能がないことでしょうか。タブやウィンドウ分割機能はtmuxを利用することで解決する(より便利になる)ので、tmuxも合わせて使うことがおすすめの使い方です。

Amazonの読み放題・聴き放題

kindle unlimited 読み放題
200万冊以上が読み放題

Audible
12万以上の対象作品が聴き放題

Amazon オーディブル:2ヶ月無料キャンペーン中(5/9まで)→ 詳しくはこちら

Alacritty + Starship

alacrittyと同じRust製のStarshipを使ってプロンプトをカスタマイズするのがおすすめです。StarshipはRust製の高速で柔軟なプロンプトです。私は下のようなプロンプトを設定して使っています。(最上部のバーはtmuxです)

alacrittyのカラーテーマはcatppuccinを使用しています。catppuccinの設定方法も紹介します。公式github:catppuccin

同じRust製のStarshipでプロンプトを設定

では、早速alacrittyをインストールし、設定していきましょう。

Alacrittyのインストール

今回もサクッとbrewでインストールします。


brew update && brew upgrade


brew install alacritty --cask

alacrittyの初回起動時は以下のアラートが出ます。

[システム設定] → [プライバシーとセキュリティ]の下の方にセキュリティの項目があるので[このまま開く]をクリックします。

Alacrittyの設定ファイル(alacritty.yml)について

2023年9月現在の最新リリース版はバージョン0.12.2です。バージョン0.12のalacrittyの設定はYAML形式の設定ファイルを用意し設定していきます。

バージョン0.13以降では、TOML形式の設定ファイルになります。バージョン0.13以降ではYAML形式の設定ファイルからTOML形式の設定ファイルへ変換するコマンドである、alacritty migrateが用意されています。

YAML形式とは?

YAMLは「YAML Ain’t Markup Language」の略でシンプルで読みやすい形式です。主に設定ファイルに用いられ、階層構造はインデントによって表現します。

設定ファイルの場所は、バージョン0.12までは~/.config/alacritty/alacritty.ymlで、バージョン0.13以降は~/.config/alacritty/alacritty.tomlです。

Amazonの読み放題・聴き放題

kindle unlimited 読み放題
200万冊以上が読み放題

Audible
12万以上の対象作品が聴き放題

Amazon オーディブル:2ヶ月無料キャンペーン中(5/9まで)→ 詳しくはこちら

Alacrittyの設定

では、設定していきましょう。設定する項目を1つ1つ紹介していきます。

設定ファイルの場所は、バージョン0.12までは~/.config/alacritty/alacritty.ymlで、バージョン0.13以降は~/.config/alacritty/alacritty.tomlです。

ウィンドウ関連

window:はウィンドウの外観の設定です。階層構造はインデント(タブやスペース)で表現します。

~/.config/alacritty/alacritty.yml


window:
  dynamic_title: true
  dimensions:
    columns: 150
    lines: 40
  opacity: 0.95
  padding:
    x: 5
    y: 0

~/.config/alacritty/alacritty.toml


[window]
dynamic_title = true
opacity = 0.87

[window.dimensions]
columns = 150
lines = 40

[window.padding]
x = 5
y = 0

ウィンドウ項目設定値説明
dynamic_titletrueウィンドウのタイトル名が動的に変更する。
dimensionscolumns: 150
lines: 40
ウィンドウのデフォルトのサイズを指定。
columnsは横の文字数、linesは高さ(行数)です。
opacity0.95ウィンドウの透明度を指定。0.0から1.0の間の値を取ります。
0.95は95%の不透明度という意味です。
paddingx: 5
y: 0
ウィンドウ内部のパディング(余白)を指定。
xは左右のパディング、yは上下のパディングです。

カーソル関連

cursor:はカーソル関連の設定です。階層構造はインデント(タブやスペース)で表現します。

~/.config/alacritty/alacritty.yml


cursor:
  style:
    shape: Block #(Block, Underline, Beam)
    blinking: Always
  unfocused_hollow: true
  blink_interval: 400

~/.config/alacritty/alacritty.toml


[cursor]
blink_interval = 400
unfocused_hollow = true

[cursor.style]
blinking = "Always"
shape = "Block"

カーソル項目設定値説明
styleshape: Block
blinking: Always
カーソルの形状を指定。設定可能なオプションは
Block, Underline, Beamの3種。
blinkingでカーソルの点滅動作を指定します。
unfocused_hollowtruetrueに設定すると、alacrittyウィンドウが
フォーカスされていない時、
カーソルが外周のみの表示になります。
blink_interval400カーソルの点滅間隔をミリ秒単位で指定。

スクロール関連

scrolling:はスクロール関連の設定です。階層構造はインデント(タブやスペース)で表現します。

~/.config/alacritty/alacritty.yml


scrolling:
  history: 10000

~/.config/alacritty/alacritty.toml


[scrolling]
history = 10000

スクロール項目設定値説明
history10000alacrittyの保持するスクロールバック(過去の出力履歴)の
行数を指定します。

環境変数関連

env:alacrittyが起動する時に設定する環境変数を設定します。

~/.config/alacritty/alacritty.yml


env:
  TERM: xterm-256color

~/.config/alacritty/alacritty.toml


[env]
TERM = "xterm-256color"

環境変数の項目設定値説明
TERMxterm-256color端末がxterm互換であり、
256色をサポートすることを示す値

リアルタイムに設定を反映する

便利な設定として、設定ファイル(alacritty.ymlalacritty.toml)が変更されるとリアルタイムに再読み込みすることができる設定があります。

~/.config/alacritty/alacritty.yml


live_config_reload: true

~/.config/alacritty/alacritty.toml


live_config_reload = true

環境変数の項目設定値説明
live_config_reloadtrue設定ファイルが変更されると自動的にその変更を検出し
設定を再読み込みします。
設定ファイルを編集した後にalacritty
再起動する必要がなくなり便利です。

ウィンドウのポジションを指定

座標を指定して、alacritty起動時にウィンドウのポジションを指定することができます。

~/.config/alacritty/alacritty.yaml


window:
  position:
    x: 10
    y: 300

~/.config/alacritty/alacritty.toml


[window.position]
x = 10
y = 300

フォント関連

font:はフォント関連の設定です。この記事のフォントはFiraCode Nerd Fontを使います。

font-fira-code-nerd-fontのインストール


brew tap homebrew/cask-fonts


brew install --cask font-fira-code-nerd-font

~/.config/alacritty/alacritty.yml


font:
  size: 20
  normal:
    family: "FiraCode Nerd Font"
    # family: "JetBrainsMono Nerd Font"

  offset:
    x: 0
    y: 1
  glyph_offset:
    x: 0
    y: 0

~/.config/alacritty/alacritty.toml


[font]
size = 20

[font.glyph_offset]
x = 0
y = 0

[font.normal]
family = "FiraCode Nerd Font"
# family = "JetBrainsMono Nerd Font"

[font.offset]
x = 0
y = 0

ウィンドウ項目設定値説明
size20フォントのサイズを指定。
normalfamily: “FiraCode Nerd Font”使用するフォントファミリーを指定。
offsetx: 0
y: 1
フォント表示の位置を調整するための
オフセット。
xは横方向、yは縦方向のオフセットです。
glyph_offsetx: 0
y: 0
各文字(グリフ)のレンダリング位置を調整するためのもの。
xは横方向、yは縦方向のオフセットです。

カラーテーマ

alacrittyのカラーテーマは、最近はまっているカラーテーマであるcatppuccinを使います。alacrittyにはたくさんのカラーテーマがあるのでお気に入りを見つけてください。

alacrittyのカラーテーマ

alacrittycatppuccinのカラーテーマ

では、alacrittycatppuccinのカラーテーマをgit cloneします。

下のコマンドでは、~/.config/alacritty/catppuccingit cloneします。


git clone https://github.com/catppuccin/alacritty.git ~/.config/alacritty/catppuccin

~/.config/alacritty/alacritty.yml(または~/.config/alacritty/alacritty.toml)を下のように編集します。

~/.config/alacritty/alacritty.yml


import:
   - ~/.config/alacritty/catppuccin/catppuccin-mocha.yml

~/.config/alacritty/alacritty.toml


import = ["~/.config/alacritty/catppuccin/catppuccin-mocha.toml"]

catppuccinのカラーテーマの種類は、mochamacchiatofrappelatteの4種類があります。

tmuxを使っている方は、tmux.confに以下を追加します。

~/.config/tmux/tmux.confに追加


set -g default-terminal "xterm-256color"
set-option -ga terminal-overrides ",xterm-256color:Tc"

背景色をカスタマイズ

カラーテーマはcatppuccin-mochaにしていますが、少しコントラストの強い背景色にカスタマイズしています。

~/.config/alacritty/alacritty.yml


colors:
  primary:
    background: "#000918"

~/.config/alacritty/alacritty.toml


[colors.primary]
background = "#000918"

背景色をカスタマイズ

alacritty, starship, tmux, fzf
alacritty, starship, tmux, fzf

tmux関連

tmuxをお使いの方は、alacritty.ymlに以下を追加すると便利です。

alacritty起動時にzshを起動しtmuxのセッションID0にアタッチします。セッションID0がない場合は、新しいtmuxセッションをUTF-8モードで開始します。

~/.config/alacritty/alacritty.yml


shell:
  program: /bin/zsh
  args:
    - -l
    - -c
    - "/opt/homebrew/bin/tmux a -t 0 || /opt/homebrew/bin/tmux -u"

~/.config/alacritty/alacritty.toml


[shell]
program = "/bin/zsh"
args = [
    "-l",
    "-c",
    "cd ~/dotfiles/ && (/opt/homebrew/bin/tmux a -t 0 || /opt/homebrew/bin/tmux -u)",
]

最後に

最後まで読んでいただきありがとうございます。alacrittyは、高速かつシンプルで、高度なカスタマイズが可能で人気のあるターミナルソフトです。従来のターミナルソフトウェアとは異なるアプローチで、多くのユーザーに新しい体験を提供しています。今回の記事を通じて、alacrittyの魅力や設定方法について興味を持っていただけると幸いです。

高速でシンプルなRust製ツールの人気記事

定番おすすめ記事

ターミナルを活用する記事をまとめました。ターミナルの活用方法やコマンドの使い方などは、UbuntuなどのLinuxでも活用できます。Macの大元がUnix系統であるからこそです。

カテゴリー:
関連記事