st(Simple Terminal)

st

st(Simple Terminal)とは

st(Simple Terminal)は、Sucklessチームによって開発された、最小限のリソースで動作する超軽量なターミナルエミュレータです。
シンプルさと高速性を追求し、余分な機能を排除した設計が特徴です。

stの特徴

stは、以下のような特徴を持つターミナルエミュレータです。

  • 超軽量 & 高速: 必要最低限のコードで構成され、メモリ消費が少ない。
  • 最小限の依存関係: X11ライブラリのみを使用し、他の外部依存がほぼ不要。
  • シンプルなコード: コードベースがコンパクトで、カスタマイズが容易。
  • 高いカスタマイズ性: 機能の追加はCのソースコードを直接編集して行う。
  • Xftフォント対応: 滑らかなフォント描画が可能。

stの基本的な操作

1. stの起動

  • 以下のいずれかの方法でstを開くことができます。
st
  • Alt + F2 を押して「st」と入力
  • 「アプリケーションメニュー」→「システム」→「st」

2. スクロール

  • デフォルトではスクロール機能なし(パッチ適用が必要)
  • Shift + Page Up: 上にスクロール(スクロールパッチ適用時)
  • Shift + Page Down: 下にスクロール(スクロールパッチ適用時)

3. クリップボード操作

  • Shift + Insert: 貼り付け
  • マウスの選択 + 中クリック: コピー&ペースト

stのインストール方法

Debian/Ubuntu系(公式パッケージ)

$ sudo apt update
$ sudo apt install suckless-tools

Fedora

$ sudo dnf install st

Arch Linux

$ sudo pacman -S st

Gentoo

$ sudo emerge --ask x11-terms/st

stのカスタマイズ

stは、ソースコードを直接編集してカスタマイズする設計になっています。

1. ソースコードの取得とコンパイル

  • stをビルドするには、ソースコードを取得してコンパイルします。
git clone https://git.suckless.org/st
cd st
make
sudo make install

2. フォントの変更

  • config.h を編集し、以下のようにフォントを指定:
static char *font = "Fira Code:size=12";

3. 背景色と前景色の変更

  • config.h で背景色・文字色を変更:
static const char *colorname[] = {
  "#1d1f21", /* 背景色 */
  "#c5c8c6", /* 文字色 */
};

4. スクロール機能の追加

patch -p1 < scrollback.patch
make
sudo make install

5. キーバインドの変更

  • config.h でキーバインドを変更可能。
static Shortcut shortcuts[] = {
    { XK_Y, ControlMask, clipcopy, {.i = 0} }, // Ctrl + Y でコピー
    { XK_P, ControlMask, clippaste, {.i = 0} }, // Ctrl + P でペースト
};

stのメリット

  • 超軽量 & 高速: 必要最低限のリソースで動作し、非常に高速。
  • コードがシンプル: ソースコードがコンパクトで、カスタマイズしやすい。
  • Xftフォント対応: 滑らかなフォント表示が可能。

stのデメリット

  • デフォルトでスクロールなし: スクロール機能を追加するにはパッチを適用する必要がある。
  • 設定変更には再コンパイルが必要: 設定ファイル(config.h)を編集し、再コンパイルしなければならない。
  • タブ機能なし: タブをサポートしておらず、tmuxscreen との併用が推奨される。

まとめ

stは、超軽量でシンプルなターミナルエミュレータを求めるユーザー向けの最小限設計のターミナルです。
デフォルトでは最低限の機能しか提供されませんが、カスタマイズすれば非常に強力なターミナル環境を構築できます。