kitty
Kitty はスクリプトを組める OpenGL ベースのターミナルエミュレータです。タイル機能、TrueColor、リガチャ、キーボード入力と画像レンダリングのプロトコル拡張があります。また、 GNU Screen や tmux のようなタイル機能も提供します。
kitty is relatively new, of which first release (v0.1.0) was in Feb 2017. It however does not mean it is still premature.
目次
インストール
使用方法
新しいタブやウィンドウを ctrl+shift
ショートカットで作成・リサイズすることができます。レイアウトは ctrl+shift+l
で切り替えて保存・復元することが可能です。
フルキーボードモードでは ctrl+i
と tab
などのキーを区別します。さらに、アプリケーションによっては波線などのエフェクトを使うことができます。
Kitten
Kitty はサブプログラムを作成するためのフレームワークが備わっておりサブプログラムは kitten と呼ばれます。以下のような kitten が存在します:
$ kitty +kitten icat image.jpeg # show image in the terminal (needs imagemagick) $ kitty +kitten diff file1 file2 # show diff of two files $ kitty +kitten clipboard # this kitten allows working with clipboard even over ssh
設定
Kitty は ~/.config/kitty/kitty.conf
で設定できます。フォント・カラー・カーソル・スクロールバックバッファなどを設定することが可能です。利用可能なオプションは 公式ドキュメント を参照してください。デフォルトで使用される 設定ファイル も確認できます。
ヒントとテクニック
IME サポートを有効にする
IBus IME フレームワークの Kitty サポートは、既定で無効になっています。これを有効にするには、環境変数 GLFW_IM_MODULE=ibus
を設定します。互換性のある IBus インターフェースが提供されているので、 Fcitx5 でも動作します。
トラブルシューティング
SSH のターミナルの問題
kitty を使用して、terminfo を持たないリモートに ssh 接続すると、さまざまな問題が発生する可能性があります。解決策は通常 terminfo にコピーすることです。kitty には、まさにこれを自動化するための ssh の kitten があります。
kitty +kitten ssh user@host
ssh
のエイリアスとして設定できます。
何らかの理由で terminfo をリモートにインストールできない場合は、TERM
をもっと存在しそうなものに設定してみてください。これにより、端末の一部の機能が無効になる可能性があることに注意してください。
TERM='xterm-256color' ssh user@host
OpenSSH 8.7の場合 は、カスタム TERM
環境変数をリモートホストに渡す機能を実装します。このバージョンはまだリリースされていませんが openssh-gitAUR で入手できます。これで、簡単なスニペットで実行できるようになりました。
~/.ssh/config
Host * SetEnv TERM=xterm-256color