st(Simple Terminal)

目次
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
)を編集し、再コンパイルしなければならない。 - タブ機能なし: タブをサポートしておらず、
tmux
やscreen
との併用が推奨される。
まとめ
stは、超軽量でシンプルなターミナルエミュレータを求めるユーザー向けの最小限設計のターミナルです。
デフォルトでは最低限の機能しか提供されませんが、カスタマイズすれば非常に強力なターミナル環境を構築できます。