「St」の版間の差分
en:stへの転送ページ |
編集の要約なし |
||
| 1行目: | 1行目: | ||
{{Lowercase title}} |
|||
#redirect[[en:st]] |
|||
[[Category:ターミナルエミュレータ]] |
|||
[[en:St]] |
|||
[http://st.suckless.org/ st] は [http://suckless.org suckless] による [[Xorg|X]] 向けのシンプルなターミナル実装です。[[xterm]] や [[urxvt]] を置き換える軽量なターミナルとして作られました。st は現在、256色、ほとんどの VT10X エスケープシーケンス、UTF-8、X11 コピー/ペースト、フォントのアンチエイリアス (fontconfig を使用)、フォールバックフォント、リサイズ、config.h によるショートカット、線画をサポートしています。 |
|||
== インストール == |
|||
[[公式リポジトリ]]の {{Pkg|st}} パッケージか、[[Arch User Repository]] の {{AUR|st-git}} を[[インストール]]してください。 |
|||
''zsh'' が予め設定された ''st'' の {{AUR|st-git-zsh}}{{Broken package link|{{aur-mirror|st-git-zsh}}}} パッケージも存在します。 |
|||
== 設定 == |
|||
''st'' は {{ic|config.h}} ファイルで設定します。コンパイル時に {{ic|config.h}} からコピーされます。デフォルトの {{ic|config.def.h}} はソースに含まれています。 |
|||
[[PKGBUILD]] と {{ic|config.h}} を自分でメンテナンスするようにしてください。 |
|||
=== シェル === |
|||
''st'' のデフォルトシェルを変更するには、以下の行を編集: |
|||
static char shell[] = "/bin/sh"; |
|||
=== ターミナル === |
|||
ターミナルのタイプを変更するには、以下の行を編集: |
|||
static char termname[] = "st-256color"; |
|||
''st'' は {{ic|termname}} の値を {{ic|TERM}} 変数に設定します。 |
|||
{{note|''st'' で問題が発生する場合、{{ic|termname}} を {{ic|xterm}} や {{ic|xterm-256color}} に設定してみてください。}} |
|||
=== フォント === |
|||
以下の行を自由に編集してください: |
|||
static char font[] = "Liberation Mono:pixelsize=12:antialias=false:autohint=false"; |
|||
コマンドラインでフォントの名前を指定することもできます: |
|||
st -f "Liberation Mono:size=12" |
|||
=== カラー === |
|||
以下の行を編集することで''前景''・''背景''・''カーソル''の色を設定できます: |
|||
static unsigned int defaultfg = 7; |
|||
static unsigned int defaultbg = 0; |
|||
static unsigned int defaultcs = 256; |
|||
上記の値は同一ファイルの {{ic|*colorname[]}} 配列を参照します。デフォルトの色を使うことも {{ic|#rrggbb}} という形式で色を追加することもできます。例: |
|||
static const char *colorname[] = { |
|||
/* 8 normal colors */ |
|||
"black", |
|||
"red3", |
|||
"green3", |
|||
"yellow3", |
|||
"blue2", |
|||
"magenta3", |
|||
"cyan3", |
|||
"gray90", |
|||
/* 8 bright colors */ |
|||
"gray50", |
|||
"red", |
|||
"green", |
|||
"yellow", |
|||
"#5c5cff", |
|||
"magenta", |
|||
"cyan", |
|||
"white", |
|||
[255] = 0, |
|||
/* more colors can be added after 255 to use with DefaultXX */ |
|||
"#cccccc", |
|||
"#eeeeee", |
|||
"#111111", |
|||
}; |
|||
/* |
|||
* Default colors (colorname index) |
|||
* foreground, background, cursor |
|||
*/ |
|||
static unsigned int defaultfg = 257; |
|||
static unsigned int defaultbg = 258; |
|||
static unsigned int defaultcs = 256; |
|||
== トラブルシューティング == |
|||
=== キーボード === |
|||
==== Backspace が正しく機能しない ==== |
|||
{{Note|[http://git.suckless.org/st/tree/FAQ FAQ] によれば、この挙動は上流で変更されてたということで、最新版にアップグレードすれば問題は解決するようです。}} |
|||
仮想端末や有名な X のターミナルエミュレータは {{ic|backscape}} キーを {{ic|^?}} エスケープシーケンスにバインドしていますが、{{ic|st}} の古いバージョンでは {{ic|^H}} にバインドされています (FAQ の旧版を参照)。 |
|||
({{ic|read}} など) プログラムによっては標準入力で {{ic|backspace}} キーを押すと、文字が消去されずに {{ic|^H}} が出力されることがあります。以下を設定することで解決できます: |
|||
stty erase '^H' |
|||
上記の設定でターミナルは {{ic|^H}} を消去コマンドとして認識するようになります。 |
|||
シェルのプロファイルに上記のコマンドを記述したい場合、シェルを起動する前に {{ic|$TERM}} を確認してください。 |
|||
=== Vim === |
|||
==== ''vim'' のテキストの背景色が文字でない部分に表示されない ==== |
|||
{{ic|config.h}} の {{ic|termname}} を {{ic|st-256color}} に設定して再コンパイルしてみてください。シェルの中で {{ic|TERM}} 変数は設定しないでください。{{ic|st-256color}} に設定すると問題が発生します。 |
|||
{{ic|.vimrc}} ファイルに以下の行を記述するという解決方法もあります: |
|||
if &term =~ '256color' |
|||
" disable Background Color Erase (BCE) so that color schemes |
|||
" render properly when inside 256-color tmux and GNU screen. |
|||
" see also http://sunaku.github.io/vim-256color-bce.html |
|||
set t_ut= |
|||
endif |
|||
== 参照 == |
|||
*[http://st.suckless.org/ ホームページ] |
|||
*[http://git.suckless.org/st/plain/FAQ よくある質問] |
|||
*[http://git.suckless.org/st/ 公式 git リポジトリ] |
|||
2015年12月29日 (火) 17:23時点における版
st は suckless による X 向けのシンプルなターミナル実装です。xterm や urxvt を置き換える軽量なターミナルとして作られました。st は現在、256色、ほとんどの VT10X エスケープシーケンス、UTF-8、X11 コピー/ペースト、フォントのアンチエイリアス (fontconfig を使用)、フォールバックフォント、リサイズ、config.h によるショートカット、線画をサポートしています。
インストール
公式リポジトリの st パッケージか、Arch User Repository の st-gitAUR をインストールしてください。
zsh が予め設定された st の st-git-zshAUR[リンク切れ: アーカイブ: aur-mirror] パッケージも存在します。
設定
st は config.h ファイルで設定します。コンパイル時に config.h からコピーされます。デフォルトの config.def.h はソースに含まれています。
PKGBUILD と config.h を自分でメンテナンスするようにしてください。
シェル
st のデフォルトシェルを変更するには、以下の行を編集:
static char shell[] = "/bin/sh";
ターミナル
ターミナルのタイプを変更するには、以下の行を編集:
static char termname[] = "st-256color";
st は termname の値を TERM 変数に設定します。
termname を xterm や xterm-256color に設定してみてください。フォント
以下の行を自由に編集してください:
static char font[] = "Liberation Mono:pixelsize=12:antialias=false:autohint=false";
コマンドラインでフォントの名前を指定することもできます:
st -f "Liberation Mono:size=12"
カラー
以下の行を編集することで前景・背景・カーソルの色を設定できます:
static unsigned int defaultfg = 7; static unsigned int defaultbg = 0; static unsigned int defaultcs = 256;
上記の値は同一ファイルの *colorname[] 配列を参照します。デフォルトの色を使うことも #rrggbb という形式で色を追加することもできます。例:
static const char *colorname[] = {
/* 8 normal colors */
"black",
"red3",
"green3",
"yellow3",
"blue2",
"magenta3",
"cyan3",
"gray90",
/* 8 bright colors */
"gray50",
"red",
"green",
"yellow",
"#5c5cff",
"magenta",
"cyan",
"white",
[255] = 0,
/* more colors can be added after 255 to use with DefaultXX */
"#cccccc",
"#eeeeee",
"#111111",
};
/*
* Default colors (colorname index)
* foreground, background, cursor
*/
static unsigned int defaultfg = 257;
static unsigned int defaultbg = 258;
static unsigned int defaultcs = 256;
トラブルシューティング
キーボード
Backspace が正しく機能しない
仮想端末や有名な X のターミナルエミュレータは backscape キーを ^? エスケープシーケンスにバインドしていますが、st の古いバージョンでは ^H にバインドされています (FAQ の旧版を参照)。
(read など) プログラムによっては標準入力で backspace キーを押すと、文字が消去されずに ^H が出力されることがあります。以下を設定することで解決できます:
stty erase '^H'
上記の設定でターミナルは ^H を消去コマンドとして認識するようになります。
シェルのプロファイルに上記のコマンドを記述したい場合、シェルを起動する前に $TERM を確認してください。
Vim
vim のテキストの背景色が文字でない部分に表示されない
config.h の termname を st-256color に設定して再コンパイルしてみてください。シェルの中で TERM 変数は設定しないでください。st-256color に設定すると問題が発生します。
.vimrc ファイルに以下の行を記述するという解決方法もあります:
if &term =~ '256color'
" disable Background Color Erase (BCE) so that color schemes
" render properly when inside 256-color tmux and GNU screen.
" see also http://sunaku.github.io/vim-256color-bce.html
set t_ut=
endif