「Alacritty」の版間の差分
(→ヒントとテクニック: 英語版と同期してViモードとコピー/ペーストを翻訳して追加) |
(→ヒントとテクニック: 同期) |
||
(3人の利用者による、間の20版が非表示) | |||
1行目: | 1行目: | ||
[[Category:ターミナルエミュレータ]] |
[[Category:ターミナルエミュレータ]] |
||
[[en:Alacritty]] |
[[en:Alacritty]] |
||
+ | [[pt:Alacritty]] |
||
− | [https://github.com/alacritty/alacritty Alacritty] は [[Rust]] によって書かれている、シンプルで GPU アクセラレーションを使用するターミナルエミュレータです。スクロールバック・トゥルーカラー・URL のクリック・カスタムキーバインドに対応しています。 |
||
+ | [[ru:Alacritty]] |
||
+ | [[tr:Alacritty]] |
||
+ | [https://github.com/alacritty/alacritty Alacritty] は [[Rust]] によって書かれている、シンプルで GPU アクセラレーションを使用するターミナルエミュレータです。スクロールバック、24ビットカラー ([[w:Color depth#True color (24-bit)]] コピーペースト、URL のクリック、カスタムキーバインドをサポートしています。 |
||
== インストール == |
== インストール == |
||
20行目: | 23行目: | ||
=== カラー === |
=== カラー === |
||
− | 利用可能なカラースキームのリストは [https://github.com/alacritty/alacritty/wiki/Color-schemes] を参照してください。使用したいカラースキームがリストに存在したら、設定ファイルにコードを貼り付けてください。 |
+ | 利用可能なカラースキームのリストは [https://github.com/alacritty/alacritty/wiki/Color-schemes the upstream wiki] を参照してください。使用したいカラースキームがリストに存在したら、設定ファイルにコードを貼り付けてください。 |
=== フォント === |
=== フォント === |
||
43行目: | 46行目: | ||
family: monospace |
family: monospace |
||
style: Bold Italic |
style: Bold Italic |
||
+ | |||
+ | size: 11 |
||
}} |
}} |
||
60行目: | 65行目: | ||
- { key: Return, mods: Control|Shift, action: SpawnNewInstance } |
- { key: Return, mods: Control|Shift, action: SpawnNewInstance } |
||
− | === |
+ | === Viモードとコピー/ペースト === |
+ | Vi モードでは、キーボードを使用して Alacritty のビューポート内を移動したりスクロールバックしたりできます。 デフォルトでは、 {{ic|Ctrl+Shift+Space}} を使用して切り替えることができます。 コピーするには、マウスを使用して {{ic|Ctrl+Shift+c}} を選択して押すか、Vi モードに入り、 {{ic|v}} を使用して選択を開始し、 {{ic|hjkl で移動します。}} vim のように、 {{ic|y}} で選択範囲をコピーします。 ペーストするには、 {{ic|Ctrl+Shift+v}} を押します。 X クリップボードとの間でコピー/ペーストを行うには、マウスの選択を使用してコピーし、マウスの中クリックでペーストします。 |
||
− | Arch の他のターミナルエミュレータではデフォルトでウィンドウのタイトルバーに "user@host:cwd" と表示されますが、Alacritty は "Alacritty" と表示します。 |
||
+ | === Hints === |
||
− | Alacritty の全てのユーザーに Arch のデフォルトの挙動を適用したい場合、{{ic|/etc/bash.bashrc}} ファイルを編集してください。 |
||
+ | Hints を使用すると、ターミナルの表示部分でテキストまたはハイパーリンクを検索し、それを他のアプリケーションにパイプすることができます。デフォルトでは、Alacritty は {{ic|Ctrl+Shift+U}} ショートカットを介して Hints URL を提供し、[[xdg-open]] で開きます。詳細については、[https://alacritty.org/config-alacritty.html Alacritty TOML 設定マニュアル] の {{ic|HINTS}} セクションを参照してください。 |
||
− | 他のターミナルで {{ic|$PROMPT_COMMAND}} を設定している case 文を検索してください: |
||
+ | たとえば、{{ic|''filename''.rs:''line'':''character''}} ファイル Hints を作成するには (例: {{ic|my_crate/src/server.rs:181:49}}) クリックして [[Visual Studio Code]] などで開いて、Alacritty の TOML 設定に次のセクションを追加します。 |
||
− | 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 |
||
+ | {{hc|alacritty.toml|output=<nowiki> |
||
− | それから {{ic|xterm*{{!}}rxvt*{{!}}Eterm{{!}}aterm{{!}}kterm{{!}}gnome*)}} の行を編集して {{ic|alacritty}} を追加して {{ic|xterm*{{!}}rxvt*{{!}}Eterm{{!}}alacritty{{!}}aterm{{!}}kterm{{!}}gnome*)}} としてください。 |
||
+ | [[hints.enabled]] |
||
+ | regex = "[^ ]+\\.rs:\\d+:\\d+" |
||
+ | command = { program = "code", args = [ "--goto" ] } |
||
+ | mouse = { enabled = true } |
||
+ | </nowiki>}} |
||
+ | 複数の {{ic|<nowiki>[[hints.enabled]]</nowiki>}} セクションを追加することで、複数の種類の正規表現ベースの Hints を追加できます。 |
||
− | === Viモードとコピー/ペースト === |
||
+ | === その場でテーマを切り替える === |
||
− | Vi モードでは、キーボードを使用して Alacritty のビューポート内を移動したりスクロールバックしたりできます。 デフォルトでは、 {{ic|Ctrl+Shift+Space}} を使用して切り替えることができます。 コピーするには、マウスを使用して {{ic|Ctrl+Shift+c}} を選択して押すか、Vi モードに入り、 {{ic|v}} を使用して選択を開始し、 {{ic|hjkl で移動します。}} vim のように、 {{ic|y}} で選択範囲をコピーします。 ペーストするには、 {{ic|Ctrl+Shift+v}} を押します。 X クリップボードとの間でコピー/ペーストを行うには、マウスの選択を使用してコピーし、マウスの中クリックでペーストします。 |
||
+ | |||
+ | ssh 経由でサーバーに接続する場合など、テーマを切り替えたい場合。次のコマンドで適用できます。 |
||
+ | $ alacritty msg config "$(cat ~/path/to/theme.toml)" |
||
== トラブルシューティング == |
== トラブルシューティング == |
||
89行目: | 93行目: | ||
=== Vim でマウスが動かない === |
=== Vim でマウスが動かない === |
||
− | {{ic|.vimrc}} に {{ic|1=ttymouse=sgr}} を追加するか [[Neovim]] に切り替えてください。[https://github.com/alacritty/alacritty/issues/803 こちらの issue] も参照。 |
+ | {{ic|.vimrc}} に {{ic|1=ttymouse=sgr}} と {{ic|1=set Mouse=a}} を追加するか [[Neovim]] に切り替えてください。[https://github.com/alacritty/alacritty/issues/803 こちらの issue] も参照して下さい。 |
+ | |||
+ | === dwm 使用時の透明な枠線 === |
||
+ | |||
+ | [[dwm]] で [[alacritty]] を使用すると境界が透明になります。この行を [[dwm]] のソースディレクトリ {{ic|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 のエントリがないことがあります ({{ic|/usr/share/terminfo/a/alacritty*}}) すべての対話型端末機能が動作するわけではありません。これは Alacritty の terminfo をリモートサーバにコピーすることで修正できます [[termite#SSH での端末の問題|参照]] |
||
+ | |||
+ | ローカルホストで、Alacritty を使用して次の操作を行います。 |
||
+ | |||
+ | $ infocmp > alacritty.terminfo # Alacritty の Terminfo をエクスポートする |
||
+ | $ scp alacritty.terminfo user@remote-host:~/ # リモートホストにコピーする別の方法 |
||
+ | |||
+ | リモート・ホストで、{{ic|alacritty.terminfo}} をコピーしたディレクトリに移動します。 |
||
+ | |||
+ | $ tic -x alacritty.terminfo # 現在のユーザの Terminfo をインポートする |
||
+ | $ rm alacritty.terminfo # オプション:Terminfo ファイルの削除 |
||
+ | |||
+ | 上記プロセスのワンライナーバージョンを次に示します。 |
||
+ | |||
+ | $ infocmp | ssh "$user@$host" 'tic -x /dev/stdin' |
||
+ | |||
+ | {{Note|この後、リモートシェルに新しい Terminfo をロードさせるために、新しい SSH セッションを開始する必要があります。}} |
||
+ | |||
+ | または、構成内の {{ic|TERM}} の値をデフォルトの {{ic|alacritty}} ではなく {{ic|xterm-256color}} に設定することもできます。 |
||
+ | |||
+ | {{bc| |
||
+ | env: |
||
+ | TERM: xterm-256color |
||
+ | }} |
||
+ | |||
+ | === Wayland 環境の GNOME でタイトルバーが無くなる === |
||
+ | |||
+ | Wayland 環境の GNOME を使用すると、タイトル バーに何も表示されず、奇妙なアイコンが表示されます。詳細については、https://github.com/alacritty/alacritty/issues/4739 を参照してください。 |
||
+ | |||
+ | 1つの回避策は、空の {{ic|WAYLAND_DISPLAY}} を [[環境変数]] に設定して、ネイティブ Wayland の代わりに [[Wayland#Xwayland|Xwayland]] で Alacritty を起動することです。 |
||
+ | もう一つのオプションとして {{ic|1=env GDK_BACKEND=x11 alacritty}} で起動する方法もあります。 |
||
+ | |||
+ | === マルチモニタでフォントサイズが異なる === |
||
+ | |||
+ | デフォルトでは、Alacritty は {{ic|Device pixel ratio}} に基づいて各モニタの適切なポイントサイズにフォントを拡大縮小しようとします。複数のディスプレイを使用したセットアップの中には、この動作によって物理的なサイズ [https://github.com/alacritty/alacritty/issues/3465] と [https://github.com/alacritty/alacritty/issues/1339] が大きく異なるものがあります。 |
||
+ | |||
+ | 各モニタの既存のデバイスピクセル比の値を表示するには、{{ic|alacritty-v}} を実行し、子ウィンドウを各モニタに移動して、親ウィンドウで報告された {{ic|Device pixel ratio}} に注意します。 |
||
+ | |||
+ | 環境変数 {{ic|WINIT_X 11_SCALE_FACTOR}} を使用してデバイスピクセル比を強制的に一定にすることで、フォントサイズの問題を解決できる場合があります。 |
||
+ | |||
+ | $ WINIT_X11_SCALE_FACTOR=1.66 alacritty |
||
+ | |||
+ | これは、設定ファイルで {{ic|WINIT_X11_SCALE_FACTOR}} の値を設定することによっても実現できます。 |
||
+ | |||
+ | {{bc| |
||
+ | env: |
||
+ | WINIT_X11_SCALE_FACTOR: "1.66" |
||
+ | }} |
||
+ | |||
+ | === pywal で設定した配色が復元されない === |
||
+ | |||
+ | 次のコードをシェルの実行コマンド ({{ic|.bashrc}}) に追加します。 |
||
+ | |||
+ | if command -v wal > /dev/null 2>&1 && [ "$TERM" = "alacritty" ]; then |
||
+ | wal -Rqe |
||
+ | fi |
||
+ | |||
+ | これは、単純に {{ic|wal -R}} を追加するよりも優れています。 |
||
+ | |||
+ | # 必要なのはターミナルエミュレータのウィンドウ内だけです。 |
||
+ | # {{ic|wal -R}} はかなり遅いので、全てのサブシェルで実行する必要はありません。 |
||
+ | # StdOut を確認する必要はありません, {{ic|-q}} オプションを使います。 |
||
+ | # デスクトップの他の部分 (gtk, xrdb, polybar, i3など) にカラーを再読み込みさせる必要はありません。これは {{ic|-e}} フラグで行います。 |
2024年10月31日 (木) 10:38時点における最新版
Alacritty は Rust によって書かれている、シンプルで GPU アクセラレーションを使用するターミナルエミュレータです。スクロールバック、24ビットカラー (w:Color depth#True color (24-bit) コピーペースト、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 size: 11
monospace
を以下のコマンドで出力されるフォント名に置き換えてください:
$ fc-list : family style
一部のフォントは Italic
書体を提供しておらず、代わりに Oblique
書体が使われることがあります。
ヒントとテクニック
同一ディレクトリに新しいインスタンスを生成
以下の行を設定ファイルに追加することで Ctrl+Shift+Enter
を押したときにカレントディレクトリに Alacritty の新しいインスタンスを生成できます:
key_bindings: - { key: Return, mods: Control|Shift, action: SpawnNewInstance }
Viモードとコピー/ペースト
Vi モードでは、キーボードを使用して Alacritty のビューポート内を移動したりスクロールバックしたりできます。 デフォルトでは、 Ctrl+Shift+Space
を使用して切り替えることができます。 コピーするには、マウスを使用して Ctrl+Shift+c
を選択して押すか、Vi モードに入り、 v
を使用して選択を開始し、 hjkl で移動します。
vim のように、 y
で選択範囲をコピーします。 ペーストするには、 Ctrl+Shift+v
を押します。 X クリップボードとの間でコピー/ペーストを行うには、マウスの選択を使用してコピーし、マウスの中クリックでペーストします。
Hints
Hints を使用すると、ターミナルの表示部分でテキストまたはハイパーリンクを検索し、それを他のアプリケーションにパイプすることができます。デフォルトでは、Alacritty は Ctrl+Shift+U
ショートカットを介して Hints URL を提供し、xdg-open で開きます。詳細については、Alacritty TOML 設定マニュアル の HINTS
セクションを参照してください。
たとえば、filename.rs:line:character
ファイル Hints を作成するには (例: my_crate/src/server.rs:181:49
) クリックして Visual Studio Code などで開いて、Alacritty の TOML 設定に次のセクションを追加します。
alacritty.toml
[[hints.enabled]] regex = "[^ ]+\\.rs:\\d+:\\d+" command = { program = "code", args = [ "--goto" ] } mouse = { enabled = true }
複数の [[hints.enabled]]
セクションを追加することで、複数の種類の正規表現ベースの Hints を追加できます。
その場でテーマを切り替える
ssh 経由でサーバーに接続する場合など、テーマを切り替えたい場合。次のコマンドで適用できます。
$ alacritty msg config "$(cat ~/path/to/theme.toml)"
トラブルシューティング
Vim でマウスが動かない
.vimrc
に ttymouse=sgr
と set Mouse=a
を追加するか 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 */
リモートシェルでターミナル機能を使用できない
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 ファイルの削除
上記プロセスのワンライナーバージョンを次に示します。
$ infocmp | ssh "$user@$host" 'tic -x /dev/stdin'
または、構成内の TERM
の値をデフォルトの alacritty
ではなく xterm-256color
に設定することもできます。
env: TERM: xterm-256color
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
に基づいて各モニタの適切なポイントサイズにフォントを拡大縮小しようとします。複数のディスプレイを使用したセットアップの中には、この動作によって物理的なサイズ [1] と [2] が大きく異なるものがあります。
各モニタの既存のデバイスピクセル比の値を表示するには、alacritty-v
を実行し、子ウィンドウを各モニタに移動して、親ウィンドウで報告された Device pixel ratio
に注意します。
環境変数 WINIT_X 11_SCALE_FACTOR
を使用してデバイスピクセル比を強制的に一定にすることで、フォントサイズの問題を解決できる場合があります。
$ WINIT_X11_SCALE_FACTOR=1.66 alacritty
これは、設定ファイルで WINIT_X11_SCALE_FACTOR
の値を設定することによっても実現できます。
env: WINIT_X11_SCALE_FACTOR: "1.66"
pywal で設定した配色が復元されない
次のコードをシェルの実行コマンド (.bashrc
) に追加します。
if command -v wal > /dev/null 2>&1 && [ "$TERM" = "alacritty" ]; then wal -Rqe fi
これは、単純に wal -R
を追加するよりも優れています。
- 必要なのはターミナルエミュレータのウィンドウ内だけです。
wal -R
はかなり遅いので、全てのサブシェルで実行する必要はありません。- StdOut を確認する必要はありません,
-q
オプションを使います。 - デスクトップの他の部分 (gtk, xrdb, polybar, i3など) にカラーを再読み込みさせる必要はありません。これは
-e
フラグで行います。