Alacritty

提供: ArchWiki
2023年4月8日 (土) 20:50時点におけるKgx (トーク | 投稿記録)による版 (→‎カラー: リンクを修正)
ナビゲーションに移動 検索に移動

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 に存在するサンプル設定ファイルを上のどれかのディレクトリにコピーして、変更したい設定をアンコメントしてください。ほとんどの設定はファイルを保存した後すぐに反映されます。

カラー

利用可能なカラースキームのリストは the upstream wiki を参照してください。使用したいカラースキームがリストに存在したら、設定ファイルにコードを貼り付けてください。

フォント

システムのデフォルトフォントを使用したくない場合、以下の行を変更することで別のフォントを指定できます:

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 クリップボードとの間でコピー/ペーストを行うには、マウスの選択を使用してコピーし、マウスの中クリックでペーストします。

Regex ヒント

Regex ヒントは、端末の可視部分にあるテキストを検索し、他のアプリケーションにパイプするために使用することができます。有効にすると、マッチしたテキストは設定されたアルファベットに従って hints でハイライトされ、キーボードで選択できるようにユーザに提示されます。

デフォルトでは Alacritty は Ctrl+Shift+U ショートカットでヒントの URL を提供し、それらを xdg-open で開いています。設定の詳細については alacritty.ymlhints: セクションを参照してください。

トラブルシューティング

Vim でマウスが動かない

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

dwm 使用時の透明な枠線

dwmalacritty を使用すると境界が透明になります。この行を dwm のソースディレクトリ drw.c に追加して再コンパイルすると、問題が解決されます。

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

リモートシェルでターミナル機能を使用できない

Alacritty 端末から、例えば [SSH] 経由でリモートシステムに接続する場合、システムの terminfo データベースに Alacritty のエントリがないことがあります (/usr/share/terminfo/a/alacritty*) すべての対話型端末機能が動作するわけではありません。これは Alacritty の terminfo をリモートサーバにコピーすることで修正できます 参照

ローカル・ホストで、Alacritty を使用して次の操作を行います。

$ infocmp > alacritty.terminfo  # Alacritty の Terminfo をエクスポートする
$ scp alacritty.terminfo user@remote-host:~/  # リモートホストにコピーする別の方法

リモート・ホストで、alacritty.terminfo をコピーしたディレクトリに移動します。

$ tic -x alacritty.terminfo  # 現在のユーザの Terminfo をインポートする
$ rm alacritty.terminfo  # オプション:Terminfo ファイルの削除
ノート: この後、リモートシェルに新しい Terminfo をロードさせるために、新しい SSH セッションを開始する必要があります。

または、構成内の TERM の値をデフォルトの alacritty ではなく xterm-256color に設定することもできます。

env:
  TERM: xterm-256color

GLSL 3.30 をサポートするハードウェアが必要です

環境変数 を指定して Alacritty を起動すると、ソフトウェアレンダリングを強制的に使用できます。

LIBGL_ALWAYS_SOFTWARE=1 [1]

$ LIBGL_ALWAYS_SOFTWARE=1 alacritty

Wayland 環境の GNOME でタイトルバーが無くなる

Wayland 環境の GNOME を使用すると、タイトル バーに何も表示されず、奇妙なアイコンが表示されます。詳細については、https://github.com/alacritty/alacritty/issues/4739 を参照してください。

1つの回避策は、空の WAYLAND_DISPLAY環境変数 に設定して、ネイティブ Wayland の代わりに XWayland で Alacritty を起動することです。 もう一つのオプションとして env GDK_BACKEND=x11 alacritty で起動する方法もあります。

マルチモニタでフォントサイズが異なる

デフォルトでは、Alacritty は Device pixel ratio に基づいて各モニタの適切なポイントサイズにフォントを拡大縮小しようとします。複数のディスプレイを使用したセットアップの中には、この動作によって物理的なサイズ [2][3] が大きく異なるものがあります。

各モニタの既存のデバイスピクセル比の値を表示するには、alacritty-v を実行し、子ウィンドウを各モニタに移動して、親ウィンドウで報告された Device pixel ratio に注意します。

環境変数 WINIT_X 11_SCALE_FACTOR を使用してデバイスピクセル比を強制的に一定にすることで、フォントサイズの問題を解決できる場合があります。

$ WINIT_X11_SCALE_FACTOR=1.66 alacritty