Alacritty
Alacritty は Rust によって書かれている、シンプルで GPU アクセラレーションを使用するターミナルエミュレータです。スクロールバック・トゥルーカラー・URL のクリック・カスタムキーバインドに対応しています。
目次
インストール
alacritty パッケージまたは alacritty-gitAUR (開発版) をインストールしてください。
設定
Alacritty は以下の順番でディレクトリ内の設定ファイルを検索します:
$XDG_CONFIG_HOME/alacritty/alacritty.yml$XDG_CONFIG_HOME/alacritty.yml$HOME/.config/alacritty/alacritty.yml$HOME/.alacritty.yml
/usr/share/doc/alacritty/example/alacritty.yml に存在するサンプル設定ファイルを上のどれかのディレクトリにコピーして、変更したい設定をアンコメントしてください。ほとんどの設定はファイルを保存した後すぐに反映されます。
カラー
利用可能なカラースキームのリストは [1] を参照してください。使用したいカラースキームがリストに存在したら、設定ファイルにコードを貼り付けてください。
フォント
システムのデフォルトフォントを使用したくない場合、以下の行を変更することで別のフォントを指定できます:
font:
normal:
family: monospace
style: Regular
bold:
family: monospace
style: Bold
italic:
family: monospace
style: Italic
bold_italic:
family: monospace
style: Bold Italic
monospace を以下のコマンドで出力されるフォント名に置き換えてください:
$ fc-list : family style
一部のフォントは Italic 書体を提供しておらず、代わりに Oblique 書体が使われることがあります。
ヒントとテクニック
同一ディレクトリに新しいインスタンスを生成
以下の行を設定ファイルに追加することで Ctrl+Shift+Enter を押したときにカレントディレクトリに Alacritty の新しいインスタンスを生成できます:
key_bindings:
- { key: Return, mods: Control|Shift, action: SpawnNewInstance }
ウィンドウのタイトルバーに "user@host:cwd"
Arch の他のターミナルエミュレータではデフォルトでウィンドウのタイトルバーに "user@host:cwd" と表示されますが、Alacritty は "Alacritty" と表示します。
Alacritty の全てのユーザーに Arch のデフォルトの挙動を適用したい場合、/etc/bash.bashrc ファイルを編集してください。
他のターミナルで $PROMPT_COMMAND を設定している case 文を検索してください:
case ${TERM} in
xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
;;
screen*)
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
;;
esac
それから xterm*|rxvt*|Eterm|aterm|kterm|gnome*) の行を編集して alacritty を追加して xterm*|rxvt*|Eterm|alacritty|aterm|kterm|gnome*) としてください。
Viモードとコピー/ペースト
Vi モードでは、キーボードを使用して Alacritty のビューポート内を移動したりスクロールバックしたりできます。 デフォルトでは、 Ctrl+Shift+Space を使用して切り替えることができます。 コピーするには、マウスを使用して Ctrl+Shift+c を選択して押すか、Vi モードに入り、 v を使用して選択を開始し、 hjkl で移動します。 vim のように、 y で選択範囲をコピーします。 ペーストするには、 Ctrl+Shift+v を押します。 X クリップボードとの間でコピー/ペーストを行うには、マウスの選択を使用してコピーし、マウスの中クリックでペーストします。
トラブルシューティング
Vim でマウスが動かない
.vimrc に ttymouse=sgr を追加するか Neovim に切り替えてください。こちらの issue も参照。
dwm 使用時の透明な枠線
dwm で alacritty を使用すると境界が透明になります。この行を dwm のソースディレクトリ drw.c に追加して再コンパイルすると、問題が解決されます。
if (!XftColorAllocName)...
die("error, cannot allocate color '%s'", clrname); /* Find this line */
dest->pixel |= 0xff << 24; /* Add this line */
When connecting to a remote system from an Alacritty terminal, for instance over SSH, it can occur that the system does not have an entry for Alacritty in its terminfo database (/usr/share/terminfo/a/alacritty*). Therefore, all interactive terminal functionality does not work. This can be fixed by copying the terminfo for Alacritty to the remote server, as described here.
On the local host, using Alacritty:
$ infocmp > alacritty.terminfo # export Alacritty's Terminfo $ scp alacritty.terminfo user@remote-host:~/ # or any other method to copy to the remote host
On the remote host, in the directory where you copied alacritty.terminfo:
$ tic -x alacritty.terminfo # import Terminfo for current user $ rm alacritty.terminfo # optional: remove Terminfo file
Alternatively, one can set the value of TERM in the configuration to xterm-256color instead of the default alacritty:
env: TERM: xterm-256color