Alacritty

提供: ArchWiki
2021年6月2日 (水) 19:06時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎トラブルシューティング: === Transparent border in dwm === と === Terminal functionality unavailable in remote shells === を追加)
ナビゲーションに移動 検索に移動

AlacrittyRust によって書かれている、シンプルで 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 でマウスが動かない

.vimrcttymouse=sgr を追加するか Neovim に切り替えてください。こちらの issue も参照。

Transparent border in dwm

With dwm, alacritty's borders become transparent. Adding this line to drw.c in the dwm source directory and recompiling fixes the issue.

 if (!XftColorAllocName)...
     die("error, cannot allocate color '%s'", clrname); /* Find this line */
 dest->pixel |= 0xff << 24; /* Add this line */

Terminal functionality unavailable in remote shells

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
ノート: After this, you will need to start a new SSH session to have the remote shell load the new Terminfo.


Alternatively, one can set the value of TERM in the configuration to xterm-256color instead of the default alacritty:

env:
  TERM: xterm-256color