「St」の版間の差分
(→トラブルシューティング: ページに絵文字が含まれているとクラッシュするを翻訳して追加) |
(→トラブルシューティング: 英語版と同期してVimの項目を翻訳して追加) |
||
122行目: | 122行目: | ||
set enable-keypad on |
set enable-keypad on |
||
+ | === Vim === |
||
==== ''vim'' のテキストの背景色が文字でない部分に表示されない ==== |
==== ''vim'' のテキストの背景色が文字でない部分に表示されない ==== |
||
{{ic|config.h}} の {{ic|termname}} を {{ic|st-256color}} に設定して再コンパイルしてみてください。シェルの中で {{ic|TERM}} 変数は設定しないでください。{{ic|st-256color}} に設定すると問題が発生します。 |
{{ic|config.h}} の {{ic|termname}} を {{ic|st-256color}} に設定して再コンパイルしてみてください。シェルの中で {{ic|TERM}} 変数は設定しないでください。{{ic|st-256color}} に設定すると問題が発生します。 |
||
133行目: | 134行目: | ||
set t_ut= |
set t_ut= |
||
endif |
endif |
||
+ | |||
+ | ==== 256color と truecolor が tmux などで機能しない ==== |
||
+ | |||
+ | まず、この [https://bbs.archlinux.org/viewtopic.php?pid=1755862#p1755862 スレッド] で説明されているように、 {{ic|~/.bashrc}} で {{ic|TERM}} の値を設定およびエクスポートしていないことを確認してください |
||
+ | {{note|{{ic|TERM}} を明示的に設定しないでください。 {{ic|tmux.conf}} で {{ic|default-terminal}} 設定を設定して正しく実行してください}} |
||
+ | |||
+ | 次に使用している vim のバージョンが '''{{ic|1=>=7.4.1799}}''' であることを確認します。これは、 {{ic|termguicolors}} が追加されたときです。 |
||
+ | |||
+ | 最後に、以下を {{ic|~/.vimrc}} に追加します: |
||
+ | |||
+ | set t_8f=^[[38;2;%lu;%lu;%lum " set foreground color |
||
+ | set t_8b=^[[48;2;%lu;%lu;%lum " set background color |
||
+ | colorscheme Tomorrow-Night-Eighties |
||
+ | set t_Co=256 " Enable 256 colors |
||
+ | set termguicolors " Enable GUI colors for the terminal to get truecolor |
||
+ | |||
+ | {{note|{{ic|^[}} は、{{ic|t_8f}} と {{ic|t_8b}}の各値の前に付けるリテラルエスケープ(<Esc>)文字です。 これは単一の文字であり、{{ic | vim}}で再現できます。 '''INSERT''' モードで、{{ic|<C-v>-<Esc>}} を押します(Control+v を押してから Esc を押します)。 引き続き '''INSERT''' モードになります。 もう一度 <Esc> を押すと、 '''NORMAL''' モードに戻ります。 |
||
+ | |||
+ | {{tip|{{ic|colorscheme}}、{{ic|t_Co}}、{{ic|を設定する前に、{{ic|t_8f}} と {{ic|t_8b}} の値を設定することをお勧めします。 termguicolors}}.}} |
||
+ | |||
+ | 詳細については、{{ic|vim}} の {{ic|:help}} を参照してください: {{ic|xterm-true-color}}、{{ic|t_8f}}、{{ic|t_8b}} |
||
+ | }} |
||
=== ページに絵文字が含まれているとクラッシュする === |
=== ページに絵文字が含まれているとクラッシュする === |
||
− | [https://lists.suckless.org/dev/1707/31965.html グリフが関連付けられていない] カラー絵文字を含むページを読み込もうとすると、st がクラッシュする可能性があります。特に、 {Pkg|ttf-joypixels}} などのフォントで見られる場合、別の端末から実行すると、次のようなものが返されます。 |
+ | [https://lists.suckless.org/dev/1707/31965.html グリフが関連付けられていない] カラー絵文字を含むページを読み込もうとすると、st がクラッシュする可能性があります。特に、 {{Pkg|ttf-joypixels}} などのフォントで見られる場合、別の端末から実行すると、次のようなものが返されます。 |
X Error of failed request: BadLength (poly request too large or internal Xlib length error) |
X Error of failed request: BadLength (poly request too large or internal Xlib length error) |
||
143行目: | 166行目: | ||
Serial number of failed request: 5118 |
Serial number of failed request: 5118 |
||
Current serial number in output stream: 5209 |
Current serial number in output stream: 5209 |
||
+ | |||
− | |||
これを修正するには、Unicode カバレッジ用に {{AUR|ttf-symbola}} をインストールするだけです。 |
これを修正するには、Unicode カバレッジ用に {{AUR|ttf-symbola}} をインストールするだけです。 |
||
2020年11月10日 (火) 18:12時点における版
st は suckless による X 向けのシンプルなターミナル実装です。xterm や urxvt を置き換える軽量なターミナルとして作られました。st は現在、256色、ほとんどの VT10X エスケープシーケンス、UTF-8、X11 コピー/ペースト、フォントのアンチエイリアス (fontconfig を使用)、フォールバックフォント、リサイズ、config.h によるショートカット、線画をサポートしています。
目次
インストール
stAUR または st-gitAUR パッケージをインストールしてください。
設定
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"
カーソル
デフォルトでは、マウスポインタは XC_xterm;
であり、見つけるのが難しいことがよくあります。
カーソルテーマの通常のテーマに変更するには、以下を編集します:
static unsigned int mouseshape = XC_left_ptr;
カラー
以下の行を編集することで前景・背景・カーソルの色を設定できます:
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;
パッチ
suckless website から入手できるパッチはたくさんあります。 パッチを適用するには、diff をダウンロードし、 patch -i patch.diff
を使用して適用します。 これにより、デフォルトの構成ファイル config.def.h
が変更されます。 独自の config.h
を維持している場合は、 config.h
から config.def.h
に構成をコピーし、名前を config.h
に変更してから、クリーンインストールを実行します。
デスクトップエントリ
以下のようなデスクトップエントリを作成することで、指定したフォントで st を簡単に起動できます (例: adobe-source-code-pro-fonts):
~/.local/share/applications/simple-terminal.desktop
[Desktop Entry] Name=Simple Terminal GenericName=Terminal Comment=standard terminal emulator for the X window system Exec=st -t "Suckless Terminal" -f "Source Code Pro:style=Semibold:size=12" -g "80x24" Terminal=false Type=Application Encoding=UTF-8 Icon=terminal Categories=System;TerminalEmulator; Keywords=shell;prompt;command;commandline;cmd;
上記のメニューエントリはアプリケーションリストのシステムツールに Simple Terminal として表示されます。
トラブルシューティング
アプリケーションによっては DEL キーが正しく機能しない
以下の行を ~/.inputrc
または /etc/inputrc
に追加してください:
set enable-keypad on
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
256color と truecolor が tmux などで機能しない
まず、この スレッド で説明されているように、 ~/.bashrc
で TERM
の値を設定およびエクスポートしていないことを確認してください
次に使用している vim のバージョンが >=7.4.1799
であることを確認します。これは、 termguicolors
が追加されたときです。
最後に、以下を ~/.vimrc
に追加します:
set t_8f=^[[38;2;%lu;%lu;%lum " set foreground color set t_8b=^[[48;2;%lu;%lu;%lum " set background color colorscheme Tomorrow-Night-Eighties set t_Co=256 " Enable 256 colors set termguicolors " Enable GUI colors for the terminal to get truecolor
ページに絵文字が含まれているとクラッシュする
グリフが関連付けられていない カラー絵文字を含むページを読み込もうとすると、st がクラッシュする可能性があります。特に、 ttf-joypixels などのフォントで見られる場合、別の端末から実行すると、次のようなものが返されます。
X Error of failed request: BadLength (poly request too large or internal Xlib length error) Major opcode of failed request: 139 (RENDER) Minor opcode of failed request: 20 (RenderAddGlyphs) Serial number of failed request: 5118 Current serial number in output stream: 5209
これを修正するには、Unicode カバレッジ用に ttf-symbolaAUR をインストールするだけです。
別の解決策は、 libxft-bgraAUR パッケージをインストールすることです。 これによりカラー絵文字をサポートするパッチバージョンの libXft が提供されます。