「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 変数に設定します。
フォント
以下の行を自由に編集してください:
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