「Xterm」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「Tips and tricks」を「ヒントとテクニック」に置換)
(→‎行間の調整: 情報を更新)
 
(2人の利用者による、間の26版が非表示)
6行目: 6行目:
 
'''xterm''' は [[Xorg|X Window System]] の標準の[[Wikipedia:Terminal emulator|ターミナルエミュレータ]]です。様々なカスタマイズができ、多数の役に立つ機能と、少数のあまり役に立たない機能を備えています。
 
'''xterm''' は [[Xorg|X Window System]] の標準の[[Wikipedia:Terminal emulator|ターミナルエミュレータ]]です。様々なカスタマイズができ、多数の役に立つ機能と、少数のあまり役に立たない機能を備えています。
   
  +
== インストール ==
==基本設定==
 
  +
  +
{{Pkg|xterm}} パッケージを [[インストール]] して下さい。
  +
  +
== 基本設定 ==
  +
 
=== リソースファイルの設定 ===
 
=== リソースファイルの設定 ===
   
26行目: 31行目:
 
==== UTF-8 ====
 
==== UTF-8 ====
   
UTF-8 の適切なロケール設定されていることを確認してください。以下の行リソースファイル追加することで xterm は全てのデタを UTF-8 でエンコードされていと解釈します:
+
[[ロケール]] が UTF-8 に設定されていることを確認してください。UTF-8 使用しない場合は、設定よって xterm がロケルに厳密に従うように強制す必要がある場合があります
   
XTerm*locale: true
+
XTerm.vt100.locale: true
   
  +
UTF-8 を強制するには、次のように設定します。
==== 'Alt' キーの修正 ====
 
   
  +
XTerm.vt100.locale: false
キーボードショートカットに {{ic|Alt}} キーを使う場合、リソースファイルに以下の設定をしてください:
 
  +
XTerm.vt100.utf8: true
   
  +
XTerm は {{ic|eo.UTF-8}} を含むすべての UTF-8 ロケールをサポートしているわけではないためこの設定は、多くの場合必要になります。
XTerm*metaSendsEscape: true
 
  +
  +
==== 'Alt' キーを他のターミナルエミュレータと同じように動作させる ====
  +
  +
例えば {{Ic|Alt+f}} を押すと {{Ic|æ}} が挿入されます。{{ic|Alt}} の代わりに {{Ic|^[}} を送るようにするには、(gnome-terminal や konsole のように) 以下を設定します。
  +
  +
XTerm.vt100.metaSendsEscape: true
  +
  +
==== バックスペースキーの修正 ====
  +
  +
Arch Linux では、xterm は backspace が押されると {{ic|^H}} キーを送信します。これは [[Emacs]] の {{ic|Ctrl+H}} キーコンビネーションを壊してしまいます。
  +
回避策として、リソースに以下を追加して下さい。
  +
  +
XTerm.vt100.backarrowKey: false
  +
XTerm.ttyModes: erase ^?
  +
  +
==== キーバインド ====
  +
  +
xterm は端末を操作するための一連の "アクション" を定義しています。例えば、 {{ic|copy-selection()}}, {{ic|hard-reset()}}, {{ic|scroll-back()}} などです。これらのアクションは {{ic|translations}} リソースを使用してマウスとキーの組み合わせにマッピングできます。例えば、ウィンドウを最大化/復元するために {{ic|Ctrl+M}} と {{ic|Ctrl+R}} をマップすることができます。
  +
  +
XTerm.vt100.translations: #override \n\
  +
Ctrl <Key>M: maximize() \n\
  +
Ctrl <Key>R: restore()
  +
  +
{{ic|#override}} は、これらのキー割り当てが既存のキー割り当てを上書きすることを示します (カスタムキー割り当てでは、ほとんどの場合、これが必要です。) 各バインドはエスケープシーケンス {{ic|n}} で区切らなければなりません。もし、リテラルな改行を挿入したい場合は、それもエスケープする必要があります({{ic|ac|n}} となります。)動作の完全なリストと多くの例は {{man|1|xterm}} の '''KEY BINDINGS''' セクションを参照してください。
  +
  +
{{Tip|キーバインドを切り替えて使うこともできます。man ページの {{ic|keymap()}} アクションを参照してください。}}
   
 
=== スクロール ===
 
=== スクロール ===
  +
 
xterm ウィンドウの一番下に新しい行が書き込まれると、一番上の古い行は消えます。マウスホイールや {{ic|Shift+PageUp}} または {{ic|Shift+PageDown}} のキーコンビネーション、あるいはスクロールバーを使うことで画面から消えた行をスクロールして見ることができます。
 
xterm ウィンドウの一番下に新しい行が書き込まれると、一番上の古い行は消えます。マウスホイールや {{ic|Shift+PageUp}} または {{ic|Shift+PageDown}} のキーコンビネーション、あるいはスクロールバーを使うことで画面から消えた行をスクロールして見ることができます。
   
 
デフォルトでは、1024行が保存されます。保存する行数は {{ic|saveLines}} リソースで変更できます:
 
デフォルトでは、1024行が保存されます。保存する行数は {{ic|saveLines}} リソースで変更できます:
Xterm*saveLines: 4096
 
   
  +
XTerm.vt100.saveLines: 4096
スクロールの設定を変更する他の X リソースとしては {{ic|jumpScroll}} (デフォルトでは {{ic|true}}) や、{{ic|multiScroll}} と {{ic|fastScroll}} があります (どちらもデフォルトでは {{ic|false}})。[[#VT オプションメニュー|別のスクリーン]]の中をスクロールするには、{{ic|alternateScroll}} を {{ic|true}} に設定してください。
 
  +
  +
スクロールの設定を変更する他の X リソースとしては {{ic|jumpScroll}} (デフォルトでは {{ic|true}}) や、{{ic|multiScroll}} と {{ic|fastScroll}} があります (どちらもデフォルトでは {{ic|false}}) [[#VT オプションメニュー|別のスクリーン]] の中をスクロールするには、{{ic|alternateScroll}} を {{ic|true}} に設定してください。
   
 
==== スクロールバー ====
 
==== スクロールバー ====
  +
スクロールバーはデフォルトでは表示されません。メニューセレクションやコマンドラインオプションを使ったり、あるいはリソースを設定することで表示させることができます。ウィンドウの左右に表示させることができ、リソース設定を弄ることで見た目も変えることができます。
 
  +
スクロールバーはデフォルトでは表示されません。これを有効にしたり、リソース設定を通じて外観を調整することができます ("scrollbar" の大文字と小文字の違いに注意してください)
  +
  +
XTerm.vt100.scrollBar: true
  +
XTerm.vt100.scrollbar.width: 8
  +
  +
他のスクロールバーリソースについては、{{man|1|xterm|Scrollbar Resources}} を参照してください。
   
 
スクロールバーの使い方は普段使用するようなスクロールバーとは異なっています。
 
スクロールバーの使い方は普段使用するようなスクロールバーとは異なっています。
  +
 
*下にスクロール:
 
*下にスクロール:
:– スクロールバーを左マウスボタンでクリック
+
** スクロールバーを左マウスボタンでクリック
:– スクロールバーの''つまみ'' (サム) の下部を中マウスボタンでクリック
+
** スクロールバーの ''つまみ'' (サム) の下部を中マウスボタンでクリック
 
*上にスクロール:
 
*上にスクロール:
:– スクロールバーを右マウスボタンでクリック
+
** スクロールバーを右マウスボタンでクリック
:– スクロールバーの''つまみ'' (サム) の上部を中マウスボタンでクリック
+
** スクロールバーの ''つまみ'' (サム) の上部を中マウスボタンでクリック
 
*上下どちらかに移動:
 
*上下どちらかに移動:
:– 中マウスボタンで''つまみ''をクリックして"クリックアンドドラッグ"
+
** 中マウスボタンで ''つまみ'' をクリックして "クリックアンドドラッグ"
  +
  +
=== メニュー ===
   
===メニュー===
 
 
Arch Linux の xterm ではツールバーやメニューバーは無効にしてコンパイルされています。メニューは xterm ウィンドウの中で {{ic|Ctrl+MouseButton}} を押すことでポップアップして表示されます。メニューアイテムで設定できることは、大抵コマンドラインオプションやリソースの設定でも可能です。
 
Arch Linux の xterm ではツールバーやメニューバーは無効にしてコンパイルされています。メニューは xterm ウィンドウの中で {{ic|Ctrl+MouseButton}} を押すことでポップアップして表示されます。メニューアイテムで設定できることは、大抵コマンドラインオプションやリソースの設定でも可能です。
   
64行目: 106行目:
 
メニューオプションは以下で説明します。
 
メニューオプションは以下で説明します。
   
====メインのオプションメニュー====
+
==== メインのオプションメニュー ====
  +
 
'''''Ctrl + 左マウス'''''
 
'''''Ctrl + 左マウス'''''
   
76行目: 119行目:
   
 
*{{ic|Quit}} メニューアイテムは xterm ウィンドウを終了します。{{ic|HUP}} シグナルを送信するのと同じです。キーボードで {{ic|Ctrl+d}} を押すか、または {{ic|exit}} を入力することでも xterm は終了できます。
 
*{{ic|Quit}} メニューアイテムは xterm ウィンドウを終了します。{{ic|HUP}} シグナルを送信するのと同じです。キーボードで {{ic|Ctrl+d}} を押すか、または {{ic|exit}} を入力することでも xterm は終了できます。
====VT オプションメニュー====
+
==== VT オプションメニュー ====
  +
 
'''''Ctrl + 中マウス'''''
 
'''''Ctrl + 中マウス'''''
 
*{{ic|Select to Clipboard}} – 通常、選択されたテキストは PRIMARY に保存され、中マウスボタンを使うか {{ic|Shift+Insert}} で貼り付けることができます。このオプションをオンにすると、選択されたテキストは CLIPBOARD を使うようになり、xterm ウィンドウで選択したテキストを {{ic|Ctrl+v}} で GUI アプリケーションに貼り付けることができます。対応する XTerm リソースは {{ic|selectToClipboard}} です。
 
*{{ic|Select to Clipboard}} – 通常、選択されたテキストは PRIMARY に保存され、中マウスボタンを使うか {{ic|Shift+Insert}} で貼り付けることができます。このオプションをオンにすると、選択されたテキストは CLIPBOARD を使うようになり、xterm ウィンドウで選択したテキストを {{ic|Ctrl+v}} で GUI アプリケーションに貼り付けることができます。対応する XTerm リソースは {{ic|selectToClipboard}} です。
82行目: 126行目:
 
*{{ic|Show Alternate Screen}} – ''vim'' や ''less'' などのターミナルアプリケーションを使うときに、新しい画面が開きます。メインの VT ウィンドウは非表示になりますが、メモリ上に残ります。このメニューオプションを有効にすると、メインウィンドウを見ることができるようになりますが、メインウィンドウでコマンドを実行することはできません。メインウィンドウからテキストを選択・コピーすることは可能です。
 
*{{ic|Show Alternate Screen}} – ''vim'' や ''less'' などのターミナルアプリケーションを使うときに、新しい画面が開きます。メインの VT ウィンドウは非表示になりますが、メモリ上に残ります。このメニューオプションを有効にすると、メインウィンドウを見ることができるようになりますが、メインウィンドウでコマンドを実行することはできません。メインウィンドウからテキストを選択・コピーすることは可能です。
   
  +
{{Tip|代替画面で実行中のプロセスを一時停止してから再開すると、{{ic|Show Alternate Screen}} を使用するよりも多くの機能が提供されます。bash シェルでは、{{ic|Ctrl+z}} を押すとプロセスが中断され、{{ic|fg}} コマンドを発行するとプロセスが再開されます。}}
{{Tip|Suspending the process running in the Alternate Screen and then resuming it provides more functionality than using {{ic|Show Alternate Screen}}. With a ''bash'' shell, pressing {{ic|Ctrl+z}} suspends the process; issuing the command {{ic|fg}} then resumes it.}}
 
   
 
*{{ic|Show Tek Window}} と {{ic|Switch to Tek Mode}} – [[Wikipedia:Tektronix 4010|Tektronix 4014]] は CAD やプロットアプリケーションで使われていた1970年代のグラフィックスターミナルです。{{Pkg|plotutils}} に含まれているコマンドラインプログラム {{ic|graph}} やアプリケーション {{Pkg|gnuplot}} が xterm の Tek エミュレーションを使うことができます。ただし、普通の人はデータを図に記すのに近代的なディスプレイオプションを使うでしょう。下の [[#Tek 4014 デモンストレーション]] を見て下さい。
 
*{{ic|Show Tek Window}} と {{ic|Switch to Tek Mode}} – [[Wikipedia:Tektronix 4010|Tektronix 4014]] は CAD やプロットアプリケーションで使われていた1970年代のグラフィックスターミナルです。{{Pkg|plotutils}} に含まれているコマンドラインプログラム {{ic|graph}} やアプリケーション {{Pkg|gnuplot}} が xterm の Tek エミュレーションを使うことができます。ただし、普通の人はデータを図に記すのに近代的なディスプレイオプションを使うでしょう。下の [[#Tek 4014 デモンストレーション]] を見て下さい。
   
====VT フォントメニュー====
+
==== VT フォントメニュー ====
  +
 
'''''Ctrl + 右マウス'''''
 
'''''Ctrl + 右マウス'''''
   
 
*XLFD フォントを使用する場合、最初の7つのメニューアイテムが xterm ウィンドウで使われるフォントフェイスやフォントサイズを変更します。Xft フォントを使う場合、フォントサイズだけが変わります。フォントフェイスは変わりません。
 
*XLFD フォントを使用する場合、最初の7つのメニューアイテムが xterm ウィンドウで使われるフォントフェイスやフォントサイズを変更します。Xft フォントを使う場合、フォントサイズだけが変わります。フォントフェイスは変わりません。
   
  +
{{Tip|プロセスを監視したいが、ターミナルウィンドウに大きな画面スペースを割きたくない場合に、{{ic|Unreadable}} と {{ic|Tiny}} が便利です。 例えば、長時間のコンパイル処理で、処理が完了したことだけを確認したいような場合に使用します。}}
{{Tip|{{ic|Unreadable}} and {{ic|Tiny}} are useful if you wish to keep an eye on a process but do not want to devote a large amount of screen space to the terminal window. An example use might be a lengthy compilation process when you only want to see that the operation completes.}}
 
   
 
* XLFD フォントの名前を使うときに、{{ic|Selection}} で PRIMARY (または CLIPBOARD) セレクションに保存されたフォントの名前に切り替えられます。
 
* XLFD フォントの名前を使うときに、{{ic|Selection}} で PRIMARY (または CLIPBOARD) セレクションに保存されたフォントの名前に切り替えられます。
   
====Tek オプションメニュー====
+
==== Tek オプションメニュー ====
  +
 
'''Tek Window''' から '''''Ctrl + 中マウス'''''
 
'''Tek Window''' から '''''Ctrl + 中マウス'''''
   
 
最初のセクションのオプションは Tek ウィンドウのフォントサイズを変えられます。2番目のセットのオプションは Tek エミュレーションウィンドウとメインウィンドウ、''VT'' ウィンドウのフォーカスを移動したり、Tek ウィンドウを終了・非表示にするのに使います。
 
最初のセクションのオプションは Tek ウィンドウのフォントサイズを変えられます。2番目のセットのオプションは Tek エミュレーションウィンドウとメインウィンドウ、''VT'' ウィンドウのフォーカスを移動したり、Tek ウィンドウを終了・非表示にするのに使います。
   
===コピーアンドペースト===
+
=== コピーアンドペースト ===
  +
まず、xterm(または他のアプリケーション)でマウスを使ってテキストをハイライトすると、コピーするテキストが選択され、マウスの中ボタンをクリックすると、ハイライトされたテキストがペーストされます。また、キーの組み合わせ {{ic|Shift+Insert}} でも貼り付けられますが、これは xterm 内に限られます。
First, highlighting text using the mouse in an xterm (or alternatively another application) will select the text to copy, then clicking the mouse middle-button will paste that highlighted text. Also the key combination {{ic|Shift+Insert}} will paste highlighted text, but only within an xterm.
 
   
====PRIMARY または CLIPBOARD====
+
==== PRIMARY または CLIPBOARD ====
   
 
デフォルトでは、X で動作する xterm などのアプリケーションは、選択されたテキストを PRIMARY セレクションと呼ばれるバッファにコピーします。PRIMARY セレクションは短命です。他のテキストが選択されるとすぐに新しい PRIMARY セレクションによってテキストは置き換えられます。アプリケーションによっては ({{ic|Shift+Insert}} ではなく) 中マウスで PRIMARY セレクションを貼り付けることができますが、PRIMARY を全く貼り付けることができないアプリケーションも存在します。
 
デフォルトでは、X で動作する xterm などのアプリケーションは、選択されたテキストを PRIMARY セレクションと呼ばれるバッファにコピーします。PRIMARY セレクションは短命です。他のテキストが選択されるとすぐに新しい PRIMARY セレクションによってテキストは置き換えられます。アプリケーションによっては ({{ic|Shift+Insert}} ではなく) 中マウスで PRIMARY セレクションを貼り付けることができますが、PRIMARY を全く貼り付けることができないアプリケーションも存在します。
111行目: 157行目:
 
他のセレクションを選択するとすぐコピーしたテキストが消失してしまう PRIMARY セレクションの儚さが鬱陶しいと感じられるかもしれません。Xterm では [[#VT オプションメニュー]] の {{ic|Select to Clipboard}} や {{ic|selectToClipboard}} リソースを使うことで PRIMARY と CLIPBOARD の使用を切り替えることができます。
 
他のセレクションを選択するとすぐコピーしたテキストが消失してしまう PRIMARY セレクションの儚さが鬱陶しいと感じられるかもしれません。Xterm では [[#VT オプションメニュー]] の {{ic|Select to Clipboard}} や {{ic|selectToClipboard}} リソースを使うことで PRIMARY と CLIPBOARD の使用を切り替えることができます。
   
====PRIMARY と CLIPBOARD====
+
==== PRIMARY と CLIPBOARD ====
   
 
上記の設定では PRIMARY または CLIPBOARD どちらかを使うことを選択できますが、両方使いたい場合、{{ic|.Xresources}} に以下のように記述する必要があります:
 
上記の設定では PRIMARY または CLIPBOARD どちらかを使うことを選択できますが、両方使いたい場合、{{ic|.Xresources}} に以下のように記述する必要があります:
117行目: 163行目:
 
XTerm*VT100.translations: #override <Btn1Up>: select-end(PRIMARY, CLIPBOARD, CUT_BUFFER0)
 
XTerm*VT100.translations: #override <Btn1Up>: select-end(PRIMARY, CLIPBOARD, CUT_BUFFER0)
   
====テキストの選択====
+
==== テキストの選択 ====
The new user usually discovers that text may be selected using a "click-and-drag" with the left mouse button. Double-clicking will select a word, where a word is defined as consecutive alphabetic characters plus the underscore, or the Basic Regular Expression (BRE) {{ic|[A-Za-z_]}}. Triple-clicking selects a line, with a "tab" character usually copied as multiple "space" characters.
 
   
  +
初めて使う人は、マウスの左ボタンで ''クリック&ドラッグ'' することでテキストを選択できます。 ダブルクリックすると、単語が選択されます。単語は、連続したアルファベット文字とアンダースコア、または基本正規表現(BRE){{ic|[A-Za-z_]}} で定義されます。 トリプルクリックは行を選択し、''タブ'' 文字は通常複数の ''スペース'' 文字としてコピーされます。
Another way of selecting text, especially useful when copying more than one full screen, is:
 
#Left-click at the start of the intended selection.
 
#Scroll to where the end of the selection is visible.
 
#Right-click at the end of the selection.
 
You do not have to be precise immediately with the right-click – any highlighted selection may be extended or shortened by using a right-click.
 
   
  +
もう一つのテキスト選択の方法は、特に複数の全画面をコピーするときに便利です。
You can clear any selected text by left-clicking once, anywhere within the xterm window.
 
  +
#選択したい部分の始点で左クリックします。
  +
#選択範囲の終端が見える位置までスクロールする。
  +
#選択範囲の終点で右クリック。
  +
ハイライトされた選択範囲は、右クリックによって拡大・縮小することができます。
   
  +
xterm ウィンドウ内の任意の場所で左クリックすると、選択したテキストを消去することができます。
==カラー==
 
Xterm のデフォルトでは白い背景に黒字のテキストが使われます。前景と背景の色は [[#VT オプションメニュー|VT オプションメニュー]] や {{ic|-rv}} コマンドラインオプションを使うことで逆転させることができます。
 
$ xterm -rv
 
   
  +
== カラー ==
もしくは、以下の [[X resources]] パラメータでも色を反転させられます (設定後にリソースを[[X resources#.Xresources の解析|再読み込み]]するのを忘れないで下さい):
 
XTerm*reverseVideo: on
 
   
Xterm 景色 (文字の色) と背景色はコマンドラインから設定することできます。それぞれ {{ic|-fg}} と {{ic|-bg}} オプションを使います。
+
xtermデフォルトは、白の ''背景色'' に黒 ''前景'' です。 前景色と背景色を逆にするに、リソースを設定することで逆転できます。
xterm -fg PapayaWhip -bg "rgb:00/00/80"
 
   
  +
XTerm.vt100.reverseVideo: true
前景色と背景色だけでなく、最初の16色のターミナルの色も [[X resources]] ファイルで設定できます:
 
{{bc|XTerm*foreground: rgb:b2/b2/b2
 
XTerm*background: rgb:08/08/08
 
XTerm*color0: rgb:28/28/28
 
   
  +
あるいは、リソースを使用して、前景色と背景色 (および最初の 16 個の端子色) を直接変更することもできます。
! ...Lines omitted...
 
  +
  +
XTerm.vt100.foreground: white
  +
XTerm.vt100.background: black
  +
XTerm.vt100.color0: rgb:28/28/28
  +
! ...
  +
XTerm.vt100.color15: rgb:e4/e4/e4
  +
  +
{{Note|X ライブラリを使用するアプリケーションの色は、さまざまな方法で指定することができます。いくつかの色は、割り当てられた名前で指定することができます。 {{{Pkg|emacs}} または {{Pkg|vim}} がインストールされていれば、 {{ic|/usr/share/emacs/*/etc/rgb.txt}} または {{ic|/usr/share/vim/*/rgb.txt}} で色名のリストとその 10 進数の RGB 値を確認することができます。 色は 16 進数の RGB 値で {{ic|rgb:RR/GG/BB}} というフォーマットで指定することもできますし、古い構文で推奨されていない {{ic|#RRGGBB}} という構文で指定することもできます。{{ic|PapayaWhip}} の色は {{ic|rgb:ff/ef/d5}} と同じで、これは {{ic|#ffefd5}} と同じです。色の構文についてのより完全な説明は {{Pkg|xorg-docs}} の {{ic|man(7)X}} を参照してください。}}
   
XTerm*color15: rgb:e4/e4/e4}}
 
{{Note|Colors for applications that use the X libraries may be specified in many different ways. Some colors can be specified by assigned names. If {{Pkg|emacs}} or {{Pkg|vim}} has been installed, you can examine {{ic|/usr/share/emacs/*/etc/rgb.txt}} or {{ic|/usr/share/vim/*/rgb.txt}} to view the list of color names with their decimal RGB values. Colors may also be specified using hexadecimal RGB values with the format {{ic|rgb:RR/GG/BB}}, or the older and not encouraged syntax {{ic|#RRGGBB}}. The color {{ic|PapayaWhip}} is the same as {{ic|rgb:ff/ef/d5}}, which is the same as {{ic|#ffefd5}}. See {{ic|man(7) X}} from {{Pkg|xorg-docs}} for a more complete description of color syntax.}}
 
 
カラースキームについては [https://bbs.archlinux.org/viewtopic.php?id=51818&p=1 Terminal Colour Scheme Screenshots] のフォーラムスレッドに様々な設定例が載っています。
 
カラースキームについては [https://bbs.archlinux.org/viewtopic.php?id=51818&p=1 Terminal Colour Scheme Screenshots] のフォーラムスレッドに様々な設定例が載っています。
{{Tip|Many people specify colors in their X resources files without specifying an application class or application instance:
 
{{bc|*foreground: rgb:b2/b2/b2
 
*background: rgb:08/08/08}}
 
The above example sets the foreground and background color values for all ''Xlib'' applications (xclock, xfontsel, and others) that use these resources. This is a nice, easy way to achieve a unified color scheme.}}
 
   
  +
{{Tip|多くの人は、アプリケーションクラスやアプリケーションインスタンスを指定せずに、X リソースファイルで色を指定します
==フォント==
 
  +
===デフォルトフォント===
 
  +
*foreground: rgb:b2/b2/b2
  +
*background: rgb:08/08/08
  +
  +
上記の例では、これらのリソースを使用するすべての''Xlib'' アプリケーション (xclock、xfontsel など) の前景色と背景色の値を設定しています。これは、統一された配色を実現するための優れた簡単な方法です。}}
  +
  +
== フォント ==
  +
  +
=== デフォルトフォント ===
  +
 
Xterm のデフォルトフォントは [[X Logical Font Description]] エイリアスで {{ic|fixed}} という名前のビットマップフォントです。大抵は以下のフォントになります:
 
Xterm のデフォルトフォントは [[X Logical Font Description]] エイリアスで {{ic|fixed}} という名前のビットマップフォントです。大抵は以下のフォントになります:
  +
 
-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-?
 
-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-?
  +
This font, also aliased to the name {{ic|6x13}}, has remakably wide coverage for unicode glyphs. The default "TrueType" font is the 14‑point font matched by the name {{ic|mono}}. The ''FreeType ''font that will be used can be found with this command:
 
  +
このフォントは {{ic|6x13}} という名前でもエイリアスされていて、ユニコードのグリフに対して驚くほど広いカバー範囲を持っています。 デフォルトの "TrueType" フォントは {{ic|mono}} という名前の 14-point フォントになります。使用される ''FreeType'' フォントは、このコマンドで見つけることができます。
  +
 
$ fc-match mono
 
$ fc-match mono
   
  +
フォントが TrueType であるかどうかに応じて、リソースでフォントを指定できます:
フォントはコマンドラインから指定できます。ビットマップフォントの名前を指定するときは {{ic|-fn}} オプションを、Xft フォントを指定するときは {{ic|-fa}} を使います。以下の設定では [[#VT フォントメニュー]] の {{ic|TrueType Fonts}} で2つのフォントを切り替えることができます。
 
  +
{{bc|<nowiki>$ xterm -fn 7x13 -fa "Liberation Mono:size=10:antialias=false"</nowiki>}}
 
  +
XTerm.vt100.faceName: Liberation Mono:size=10:antialias=false
永続的に設定したい場合、デフォルトフォントを [[X resources]] ファイルで設定します:
 
  +
XTerm.vt100.font: 7x13
{{bc|<nowiki>xterm*faceName: Liberation Mono:size=10:antialias=false</nowiki>
 
  +
xterm*font: 7x13}}
 
  +
テストするには、コマンドラインでフォントを設定することもできます: {{ic|faceName}} の場合は {{ic|-fa}}、{{ic|font}} の場合は {{ic|-fn}}。両方の種類のフォントを設定した場合は、[[Xterm#VT フォントメニュー|VT フォントメニュー]] から {{ic|TrueType フォント}} を切り替えることで、2 つのフォントを切り替えることができます。次のリソースを使用してデフォルトを選択することもできます
  +
  +
! start with TrueType fonts disabled
  +
XTerm.vt100.renderFont: false
  +
  +
=== 太字フォントと下線フォント ===
   
  +
xterm で XLFD 名を使用する場合、イタリック体のフォントは下線文字として表示されます。 TrueType フォントは斜体の書体を使用する必要があります。
{{Note|リソースファイルで {{ic|faceName}} が設定されている場合にコマンドラインオプションの {{ic|-fn}} が使えなくなるというバグが xterm には昔から存在しています。コマンドラインでリソース {{ic|renderFont}} を {{ic|false}} に設定するのが一つの解決方法です。
 
{{bc|$ xterm -fn 8x13 # If this command does not set the font,
 
$ xterm -fn 8x13 -xrm "*renderFont:false" # set the 'renderFont' resource to 'false'.}}
 
さらに、ターミナルウィンドウの [[#VT フォントメニュー]] から {{ic|TrueType Fonts}} を切り替えることもできます。}}
 
   
  +
コマンドライン、{{ic|-fb}}、または {{ic|XTerm.vt100.boldFont}} リソースで太字フォントを指定しない場合、xterm は通常のフォントに一致する太字フォントを探そうとします。 一致するフォントが見つからない場合、太字フォントは通常フォントを ''overstriking'' することによって作成されます。
===太字フォントと下線フォント===
 
Italic fonts are shown as underlined characters when using XLFD names in xterm. TrueType fonts should use an oblique typeface.
 
   
  +
=== CJK フォント ===
If you do not specify a bold font at the command line, {{ic|-fb}}, or through the {{ic|boldFont}} resource, xterm will attempt to find a bold font matching the normal font. If a matching font is not found, the bold font will be created by "overstriking" the normal font.
 
   
===CJK フォント===
 
 
中国語や日本語、韓国語で使われる全角文字が含まれているフォントは多くありません。これらの言語を使う場合は [[urxvt]] など別のターミナルエミュレータを使うほうが良いでしょう。
 
中国語や日本語、韓国語で使われる全角文字が含まれているフォントは多くありません。これらの言語を使う場合は [[urxvt]] など別のターミナルエミュレータを使うほうが良いでしょう。
   
 
xterm における CJK のビットマップの XLFD フォントの使用は落とし穴がたくさんあります。CJK を表示するときは {{ic|faceNameDoublesize}} リソースを利用して TrueType フォントを使うほうがずっと楽です。以下の例では通常フォントとして ''DejaVu Sans Mono'' を全角フォントとして ''WenQuanYi Bitmap Song'' を使用します:
 
xterm における CJK のビットマップの XLFD フォントの使用は落とし穴がたくさんあります。CJK を表示するときは {{ic|faceNameDoublesize}} リソースを利用して TrueType フォントを使うほうがずっと楽です。以下の例では通常フォントとして ''DejaVu Sans Mono'' を全角フォントとして ''WenQuanYi Bitmap Song'' を使用します:
{{bc|<nowiki>xterm*faceName: DejaVu Sans Mono:style=Book:antialias=false</nowiki>
 
xterm*faceNameDoublesize: WenQuanYi Bitmap Song
 
xterm*faceSize: 8}}
 
   
  +
XTerm.vt100.faceName: DejaVu Sans Mono:style=Book:antialias=false
==ヒントとテクニック==
 
  +
XTerm.vt100.faceNameDoublesize: WenQuanYi WenQuanYi Bitmap Song
===自動透過===
 
  +
XTerm.vt100.faceSize: 8
{{pkg|transset-df}} パッケージと [[Xcompmgr]] などの[[Wikipedia:Compositing window manager|コンポジットマネージャ]]をインストールして、以下の行を {{ic|~/.bashrc}} に追加します:
 
  +
  +
== ヒントとテクニック ==
  +
  +
=== 自動透過 ===
  +
  +
{{AUR|transset-df}} パッケージと [[Xcompmgr]] などの[[Wikipedia:Compositing window manager|コンポジットマネージャ]]をインストールして、以下の行を {{ic|~/.bashrc}} に追加します:
 
[ -n "$XTERM_VERSION" ] && transset-df -a >/dev/null
 
[ -n "$XTERM_VERSION" ] && transset-df -a >/dev/null
   
  +
これで、xterm でシェルを起動し、コンポジットマネージャーが起動している場合は、毎回、xterm ウィンドウが透明になります。
Now, each time you launch a shell in an xterm and a composite manager is running, the xterm window will be transparent.
 
  +
{{ic|transset-df}} の前にあるテストは {{ic|XTERM_VERSION}} が定義されていない場合に transet が実行されないようにするものです。この方法でシェル以外のプログラムを起動した場合、ターミナルが透明にならないことに注意してください。この機能が必要であれば、これを回避できる可能性があります。
The test in front of {{ic|transset-df}} keeps transet from executing if {{ic|XTERM_VERSION}} is not defined. Note that your terminal will not be transparent if you launch a program other than a shell this way. It is probably possible to work around this if you want the functionality.
 
   
[[en2:Per Application Transparency|アプリケーションごとの透過設定]]も参照。
+
[[en2:Per Application Transparency|アプリケーションごとの透過設定]] も参照。
   
===緊急ベルの有効化===
+
=== 緊急ベルの有効化 ===
以下の行を {{ic|~/.Xresources}} ファイルに追加します:
 
   
  +
ベルの文字がウィンドウマネージャーに緊急事態を知らせるようにするには、次のように設定します:
xterm*bellIsUrgent: true
 
   
  +
XTerm.vt100.bellIsUrgent: true
===フォントのヒント===
 
  +
  +
=== フォントのヒント ===
  +
  +
==== 太字や斜体の代わりに色を使う ====
   
====太字や斜体の代わりに色を使う====
 
 
フォントサイズを小さくしている場合、太字や斜体の文字を読むのは困難です。太字や斜体、下線を無効にして代わりにテキストに色を付けることができます。例:
 
フォントサイズを小さくしている場合、太字や斜体の文字を読むのは困難です。太字や斜体、下線を無効にして代わりにテキストに色を付けることができます。例:
{{bc|! Forbid bold font faces; bold type is light blue.
 
XTerm*colorBDMode: true
 
XTerm*colorBD: rgb:82/a4/d3
 
! Do not underscore text, underlined text is white.
 
XTerm*colorULMode: true
 
XTerm*colorUL: rgb:e4/e4/e4}}
 
   
  +
! disable bold font faces, instead make text light blue.
====行間の調整====
 
  +
XTerm.vt100.colorBDMode: true
場合によっては行間が狭すぎたり、広すぎるように感じられることもあるでしょう。例えば、''DejaVu Sans Mono'' を使っていると、アンダーバー記号が CJK の文字にぶつかったり、次の行のカーソルに被さってしまうことがあります。行間 (植字工は''鉛''と呼ぶ) は {{ic|scaleHeight}} リソースを使うことで調整できます。例えば、行間を広げるには:
 
XTerm*scaleHeight: 1.01
+
XTerm.vt100.colorBD: rgb:82/a4/d3
  +
! disable underlined text, instead make it white.
{{ic|scaleHeight}} に設定できる値は {{ic|0.9}} から {{ic|1.5}} までの間の数値で、デフォルトは {{ic|1.0}} です。
 
  +
XTerm.vt100.colorULMode: true
  +
XTerm.vt100.colorUL: rgb:e4/e4/e4
  +
! similarly use colorIT for italics
   
  +
書式設定の情報については、[[Xterm#カラー|カラー]] を参照してください。
===黒いボーターの削除===
 
  +
場合によって Xterm には黒い縁が表示されますが、以下の行を {{ic|~/.Xresources}} ファイルに追加することで消すことができます。
 
  +
==== 行間の調整 ====
  +
  +
テキストの行が近すぎたり、間隔が広すぎたりすることがあります。一例として、''DejaVu Sans Mono'' を使用すると、アンダーバー記号が CJK グリフまたは下の行のカーソルブロックに突き当たる可能性があります。タイポグラフによって ''leading '' と呼ばれる行間隔は、たとえば間隔を広げるために、次のリソースを使用して調整できます:
  +
  +
XTerm.vt100.scaleHeight: 1.01
  +
  +
{{ic|scaleHeight}} に設定できる値は {{ic|0.9}} から {{ic|1.5}} までの間の数値で、デフォルトは {{ic|1.0}} です。
   
  +
=== Tek 4014 デモンストレーション ===
xterm*borderWidth: 0
 
   
===Tek 4014 デモンストレーション===
 
 
{{Pkg|plotutils}} をインストールしている場合、xterm の Tektronix 4014 エミュレーションを使って plotutils パッケージのテストファイルを表示することができます。[[#VT オプションメニュー]] のメニューアイテム {{ic|Switch to Tek Mode}} を使うか次のコマンドで xterm を起動することで Tek ウィンドウを開いて下さい:
 
{{Pkg|plotutils}} をインストールしている場合、xterm の Tektronix 4014 エミュレーションを使って plotutils パッケージのテストファイルを表示することができます。[[#VT オプションメニュー]] のメニューアイテム {{ic|Switch to Tek Mode}} を使うか次のコマンドで xterm を起動することで Tek ウィンドウを開いて下さい:
 
$ xterm -t -tn tek4014
 
$ xterm -t -tn tek4014
226行目: 287行目:
 
cat /usr/share/tek2plot/dmerc.tek
 
cat /usr/share/tek2plot/dmerc.tek
 
Tek ウィンドウに世界地図が表示されます。同じディレクトリにある他の {{ic|*.tek}} ファイルを表示することもできます。Tek ウィンドウを終了するには、xterm メニューを使います。
 
Tek ウィンドウに世界地図が表示されます。同じディレクトリにある他の {{ic|*.tek}} ファイルを表示することもできます。Tek ウィンドウを終了するには、xterm メニューを使います。
  +
  +
=== X11 の入力スヌーピングからの保護 ===
  +
  +
[[Xterm#メインのオプションメニュー|メインのオプションメニュー]] から "Secure Keyboard" モードを有効にするのは不便な場合があります。代わりに、[[Xterm#キーバインド|キーバインド]] を使用して {{ic|secure()}} アクションを呼び出すことができます:
  +
  +
Ctrl Alt <Key>S: secure()
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==
231行目: 298行目:
 
=== スクロールでチラつきが発生する ===
 
=== スクロールでチラつきが発生する ===
   
{{Warning|ダブルバッファを使用すると非ビットマップフォントが正しく表示されなくなることがあります。}}
+
{{Note|ダブルバッファを使用すると非ビットマップフォントが正しく表示されなくなることがあります。}}
   
 
[[ABS]] を使って {{ic|--enable-double-buffer}} フラグを指定して xterm をリビルドしてください:
 
[[ABS]] を使って {{ic|--enable-double-buffer}} フラグを指定して xterm をリビルドしてください:
241行目: 308行目:
   
 
詳しくは [https://bbs.archlinux.org/viewtopic.php?id=146023 Xterm modifications] を参照。
 
詳しくは [https://bbs.archlinux.org/viewtopic.php?id=146023 Xterm modifications] を参照。
  +
  +
=== 設定が適用されない ===
  +
  +
[[i3]] などの一部のアプリケーションでは、{{ic|xterm}} の代わりに {{ic|uxterm}} のラッパーを呼び出すことがあります。このような場合は、{{ic|uxterm}} と同じ設定を追加することで解決することができます。
  +
UXTerm.vt100.reverseVideo: true
  +
  +
設定ファイルに重複した項目を書かない方が良い場合は、ワイルドカードによるマッチングを使用することができます。
  +
*.vt100.reverseVideo: true
  +
  +
=== フォントサイズメニューでフォントサイズが変更されない ===
  +
  +
フォントサイズの変更で問題が発生した場合は、{{Pkg|xorg-mkfontscale}} パッケージをインストールしてください。
   
 
== 参照 ==
 
== 参照 ==

2023年11月25日 (土) 00:46時点における最新版

xtermX Window System の標準のターミナルエミュレータです。様々なカスタマイズができ、多数の役に立つ機能と、少数のあまり役に立たない機能を備えています。

インストール

xterm パッケージを インストール して下さい。

基本設定

リソースファイルの設定

ターミナルエミュレータとして使いやすさを向上させるオプションを X resources ファイルで設定することができます。オプションのリストは man xterm を見て下さい。

TERM 環境変数

xterm が TERM 変数を適切に設定できるようにしてください。~/.bashrc~/.bash_profile などのファイルから TERM 変数を設定してはいけません。ターミナルが自ら適切な TERM を設定することで、適切な terminfo ファイルが使われるようになります。利用できる terminfo ファイルは xtermxterm-256color です。

TERM を明示的に設定しなかった場合、xterm は $TERMxterm と設定します。以下のコマンドを xterm の中から実行することで確認できます:

$ echo $TERM
$ tset -q

TERM が明示的に設定されていない場合、vim など、プログラムによっては何かキーが押されるまでカラースキームが正しく表示されないことがあります。この問題は以下のようにリソースを設定することで直せます:

xterm*termName: xterm-256color

UTF-8

ロケール が UTF-8 に設定されていることを確認してください。UTF-8 を使用しない場合は、設定によって xterm がロケールに厳密に従うように強制する必要がある場合があります。

XTerm.vt100.locale: true

UTF-8 を強制するには、次のように設定します。

XTerm.vt100.locale: false
XTerm.vt100.utf8: true

XTerm は eo.UTF-8 を含むすべての UTF-8 ロケールをサポートしているわけではないためこの設定は、多くの場合必要になります。

'Alt' キーを他のターミナルエミュレータと同じように動作させる

例えば Alt+f を押すと æ が挿入されます。Alt の代わりに ^[ を送るようにするには、(gnome-terminal や konsole のように) 以下を設定します。

XTerm.vt100.metaSendsEscape: true

バックスペースキーの修正

Arch Linux では、xterm は backspace が押されると ^H キーを送信します。これは EmacsCtrl+H キーコンビネーションを壊してしまいます。 回避策として、リソースに以下を追加して下さい。

XTerm.vt100.backarrowKey: false
XTerm.ttyModes: erase ^?

キーバインド

xterm は端末を操作するための一連の "アクション" を定義しています。例えば、 copy-selection(), hard-reset(), scroll-back() などです。これらのアクションは translations リソースを使用してマウスとキーの組み合わせにマッピングできます。例えば、ウィンドウを最大化/復元するために Ctrl+MCtrl+R をマップすることができます。

XTerm.vt100.translations: #override \n\
    Ctrl <Key>M: maximize() \n\
    Ctrl <Key>R: restore()

#override は、これらのキー割り当てが既存のキー割り当てを上書きすることを示します (カスタムキー割り当てでは、ほとんどの場合、これが必要です。) 各バインドはエスケープシーケンス n で区切らなければなりません。もし、リテラルな改行を挿入したい場合は、それもエスケープする必要があります(<coden>ac となります。)動作の完全なリストと多くの例は xterm(1)KEY BINDINGS セクションを参照してください。

ヒント: キーバインドを切り替えて使うこともできます。man ページの keymap() アクションを参照してください。

スクロール

xterm ウィンドウの一番下に新しい行が書き込まれると、一番上の古い行は消えます。マウスホイールや Shift+PageUp または Shift+PageDown のキーコンビネーション、あるいはスクロールバーを使うことで画面から消えた行をスクロールして見ることができます。

デフォルトでは、1024行が保存されます。保存する行数は saveLines リソースで変更できます:

XTerm.vt100.saveLines: 4096

スクロールの設定を変更する他の X リソースとしては jumpScroll (デフォルトでは true) や、multiScrollfastScroll があります (どちらもデフォルトでは false) 別のスクリーン の中をスクロールするには、alternateScrolltrue に設定してください。

スクロールバー

スクロールバーはデフォルトでは表示されません。これを有効にしたり、リソース設定を通じて外観を調整することができます ("scrollbar" の大文字と小文字の違いに注意してください)

XTerm.vt100.scrollBar: true
XTerm.vt100.scrollbar.width: 8

他のスクロールバーリソースについては、xterm(1) § Scrollbar Resources を参照してください。

スクロールバーの使い方は普段使用するようなスクロールバーとは異なっています。

  • 下にスクロール:
    • スクロールバーを左マウスボタンでクリック
    • スクロールバーの つまみ (サム) の下部を中マウスボタンでクリック
  • 上にスクロール:
    • スクロールバーを右マウスボタンでクリック
    • スクロールバーの つまみ (サム) の上部を中マウスボタンでクリック
  • 上下どちらかに移動:
    • 中マウスボタンで つまみ をクリックして "クリックアンドドラッグ"

メニュー

Arch Linux の xterm ではツールバーやメニューバーは無効にしてコンパイルされています。メニューは xterm ウィンドウの中で Ctrl+MouseButton を押すことでポップアップして表示されます。メニューアイテムで設定できることは、大抵コマンドラインオプションやリソースの設定でも可能です。

ヒント: ポップアップメニューウィンドウが小さく表示される場合、リソースファイルに xterm*geometry: 80x32 などと設定しているのが原因です。この設定だと xterm のメインウィンドウが80列32行で起動するのではなく、メニューウィンドウが80ピクセルx32ピクセルになります。次のように置き換えてください: xterm*VT100.geometry: 80x32

メニューオプションは以下で説明します。

メインのオプションメニュー

Ctrl + 左マウス

  • Secure Keyboard を設定すると xterm ウィンドウだけがキーストロークを受け取れるようになり、他のアプリケーションがキーストロークを傍受することはできなくなります。実行すると画面の色が反転します。色が反転しない場合、Secure Keyboard モードが有効になっていません。このオプションの制限については xterm の man ページの "SECURITY" セクションを読んで下さい。
  • Allow SendEvents は他のプロセスが xterm ウィンドウに打鍵やマウスのイベントを送信できるようにします。セキュリティ上のリスクがあるため、何の効果があるのかよくわからないときは有効にしないでください。
  • Log to File – ログファイルの名前は Xterm.log.hostname.yyyy.mm.dd.hh.mm.ss.XXXXXX になります。このファイルには印字された出力とマウスの移動が全て記録されます。ログ出力はセキュリティリスクになることもあります。
  • 6つの Send *** Signal メニューアイテムはキーボードが動作しなくなったような場合を除いて、基本的に使うことはありません。HUP, TERM, KILL は xterm ウィンドウを終了します。KILL はできるだけ使わないでください。
  • Quit メニューアイテムは xterm ウィンドウを終了します。HUP シグナルを送信するのと同じです。キーボードで Ctrl+d を押すか、または exit を入力することでも xterm は終了できます。

VT オプションメニュー

Ctrl + 中マウス

  • Select to Clipboard – 通常、選択されたテキストは PRIMARY に保存され、中マウスボタンを使うか Shift+Insert で貼り付けることができます。このオプションをオンにすると、選択されたテキストは CLIPBOARD を使うようになり、xterm ウィンドウで選択したテキストを Ctrl+v で GUI アプリケーションに貼り付けることができます。対応する XTerm リソースは selectToClipboard です。
  • Show Alternate Screenvimless などのターミナルアプリケーションを使うときに、新しい画面が開きます。メインの VT ウィンドウは非表示になりますが、メモリ上に残ります。このメニューオプションを有効にすると、メインウィンドウを見ることができるようになりますが、メインウィンドウでコマンドを実行することはできません。メインウィンドウからテキストを選択・コピーすることは可能です。
ヒント: 代替画面で実行中のプロセスを一時停止してから再開すると、Show Alternate Screen を使用するよりも多くの機能が提供されます。bash シェルでは、Ctrl+z を押すとプロセスが中断され、fg コマンドを発行するとプロセスが再開されます。
  • Show Tek WindowSwitch to Tek ModeTektronix 4014 は CAD やプロットアプリケーションで使われていた1970年代のグラフィックスターミナルです。plotutils に含まれているコマンドラインプログラム graph やアプリケーション gnuplot が xterm の Tek エミュレーションを使うことができます。ただし、普通の人はデータを図に記すのに近代的なディスプレイオプションを使うでしょう。下の #Tek 4014 デモンストレーション を見て下さい。

VT フォントメニュー

Ctrl + 右マウス

  • XLFD フォントを使用する場合、最初の7つのメニューアイテムが xterm ウィンドウで使われるフォントフェイスやフォントサイズを変更します。Xft フォントを使う場合、フォントサイズだけが変わります。フォントフェイスは変わりません。
ヒント: プロセスを監視したいが、ターミナルウィンドウに大きな画面スペースを割きたくない場合に、UnreadableTiny が便利です。 例えば、長時間のコンパイル処理で、処理が完了したことだけを確認したいような場合に使用します。
  • XLFD フォントの名前を使うときに、Selection で PRIMARY (または CLIPBOARD) セレクションに保存されたフォントの名前に切り替えられます。

Tek オプションメニュー

Tek Window から Ctrl + 中マウス

最初のセクションのオプションは Tek ウィンドウのフォントサイズを変えられます。2番目のセットのオプションは Tek エミュレーションウィンドウとメインウィンドウ、VT ウィンドウのフォーカスを移動したり、Tek ウィンドウを終了・非表示にするのに使います。

コピーアンドペースト

まず、xterm(または他のアプリケーション)でマウスを使ってテキストをハイライトすると、コピーするテキストが選択され、マウスの中ボタンをクリックすると、ハイライトされたテキストがペーストされます。また、キーの組み合わせ Shift+Insert でも貼り付けられますが、これは xterm 内に限られます。

PRIMARY または CLIPBOARD

デフォルトでは、X で動作する xterm などのアプリケーションは、選択されたテキストを PRIMARY セレクションと呼ばれるバッファにコピーします。PRIMARY セレクションは短命です。他のテキストが選択されるとすぐに新しい PRIMARY セレクションによってテキストは置き換えられます。アプリケーションによっては (Shift+Insert ではなく) 中マウスで PRIMARY セレクションを貼り付けることができますが、PRIMARY を全く貼り付けることができないアプリケーションも存在します。

テキストをコピーするときは CLIPBOARD セレクションと呼ばれるバッファも使われます。CLIPBOARD のテキストは長命で、ユーザーによって上書きされるまで保存されます。Ctrl+c, Ctrl+x, Ctrl+v を使ってテキストのコピー・切り取り・貼り付けをするアプリケーションはこの CLIPBOARD を使っています。

他のセレクションを選択するとすぐコピーしたテキストが消失してしまう PRIMARY セレクションの儚さが鬱陶しいと感じられるかもしれません。Xterm では #VT オプションメニューSelect to ClipboardselectToClipboard リソースを使うことで PRIMARY と CLIPBOARD の使用を切り替えることができます。

PRIMARY と CLIPBOARD

上記の設定では PRIMARY または CLIPBOARD どちらかを使うことを選択できますが、両方使いたい場合、.Xresources に以下のように記述する必要があります:

XTerm*VT100.translations: #override <Btn1Up>: select-end(PRIMARY, CLIPBOARD, CUT_BUFFER0)

テキストの選択

初めて使う人は、マウスの左ボタンで クリック&ドラッグ することでテキストを選択できます。 ダブルクリックすると、単語が選択されます。単語は、連続したアルファベット文字とアンダースコア、または基本正規表現(BRE)[A-Za-z_] で定義されます。 トリプルクリックは行を選択し、タブ 文字は通常複数の スペース 文字としてコピーされます。

もう一つのテキスト選択の方法は、特に複数の全画面をコピーするときに便利です。

  1. 選択したい部分の始点で左クリックします。
  2. 選択範囲の終端が見える位置までスクロールする。
  3. 選択範囲の終点で右クリック。

ハイライトされた選択範囲は、右クリックによって拡大・縮小することができます。

xterm ウィンドウ内の任意の場所で左クリックすると、選択したテキストを消去することができます。

カラー

xtermのデフォルトは、白の 背景色 に黒の 前景色 です。 前景色と背景色を逆にするには、リソースを設定することで逆転できます。

XTerm.vt100.reverseVideo: true

あるいは、リソースを使用して、前景色と背景色 (および最初の 16 個の端子色) を直接変更することもできます。

XTerm.vt100.foreground: white
XTerm.vt100.background: black
XTerm.vt100.color0: rgb:28/28/28
! ...
XTerm.vt100.color15: rgb:e4/e4/e4
ノート: X ライブラリを使用するアプリケーションの色は、さまざまな方法で指定することができます。いくつかの色は、割り当てられた名前で指定することができます。 {emacs または vim がインストールされていれば、 /usr/share/emacs/*/etc/rgb.txt または /usr/share/vim/*/rgb.txt で色名のリストとその 10 進数の RGB 値を確認することができます。 色は 16 進数の RGB 値で rgb:RR/GG/BB というフォーマットで指定することもできますし、古い構文で推奨されていない #RRGGBB という構文で指定することもできます。PapayaWhip の色は rgb:ff/ef/d5 と同じで、これは #ffefd5 と同じです。色の構文についてのより完全な説明は xorg-docsman(7)X を参照してください。

カラースキームについては Terminal Colour Scheme Screenshots のフォーラムスレッドに様々な設定例が載っています。

ヒント: 多くの人は、アプリケーションクラスやアプリケーションインスタンスを指定せずに、X リソースファイルで色を指定します
*foreground: rgb:b2/b2/b2
*background: rgb:08/08/08
上記の例では、これらのリソースを使用するすべてのXlib アプリケーション (xclock、xfontsel など) の前景色と背景色の値を設定しています。これは、統一された配色を実現するための優れた簡単な方法です。

フォント

デフォルトフォント

Xterm のデフォルトフォントは X Logical Font Description エイリアスで fixed という名前のビットマップフォントです。大抵は以下のフォントになります:

-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-?

このフォントは 6x13 という名前でもエイリアスされていて、ユニコードのグリフに対して驚くほど広いカバー範囲を持っています。 デフォルトの "TrueType" フォントは mono という名前の 14-point フォントになります。使用される FreeType フォントは、このコマンドで見つけることができます。

$ fc-match mono

フォントが TrueType であるかどうかに応じて、リソースでフォントを指定できます:

XTerm.vt100.faceName: Liberation Mono:size=10:antialias=false
XTerm.vt100.font: 7x13

テストするには、コマンドラインでフォントを設定することもできます: faceName の場合は -fafont の場合は -fn。両方の種類のフォントを設定した場合は、VT フォントメニュー から TrueType フォント を切り替えることで、2 つのフォントを切り替えることができます。次のリソースを使用してデフォルトを選択することもできます

! start with TrueType fonts disabled
XTerm.vt100.renderFont: false

太字フォントと下線フォント

xterm で XLFD 名を使用する場合、イタリック体のフォントは下線文字として表示されます。 TrueType フォントは斜体の書体を使用する必要があります。

コマンドライン、-fb、または XTerm.vt100.boldFont リソースで太字フォントを指定しない場合、xterm は通常のフォントに一致する太字フォントを探そうとします。 一致するフォントが見つからない場合、太字フォントは通常フォントを overstriking することによって作成されます。

CJK フォント

中国語や日本語、韓国語で使われる全角文字が含まれているフォントは多くありません。これらの言語を使う場合は urxvt など別のターミナルエミュレータを使うほうが良いでしょう。

xterm における CJK のビットマップの XLFD フォントの使用は落とし穴がたくさんあります。CJK を表示するときは faceNameDoublesize リソースを利用して TrueType フォントを使うほうがずっと楽です。以下の例では通常フォントとして DejaVu Sans Mono を全角フォントとして WenQuanYi Bitmap Song を使用します:

XTerm.vt100.faceName: DejaVu Sans Mono:style=Book:antialias=false
XTerm.vt100.faceNameDoublesize: WenQuanYi WenQuanYi Bitmap Song
XTerm.vt100.faceSize: 8

ヒントとテクニック

自動透過

transset-dfAUR パッケージと Xcompmgr などのコンポジットマネージャをインストールして、以下の行を ~/.bashrc に追加します:

[ -n "$XTERM_VERSION" ] && transset-df -a >/dev/null

これで、xterm でシェルを起動し、コンポジットマネージャーが起動している場合は、毎回、xterm ウィンドウが透明になります。 transset-df の前にあるテストは XTERM_VERSION が定義されていない場合に transet が実行されないようにするものです。この方法でシェル以外のプログラムを起動した場合、ターミナルが透明にならないことに注意してください。この機能が必要であれば、これを回避できる可能性があります。

アプリケーションごとの透過設定 も参照。

緊急ベルの有効化

ベルの文字がウィンドウマネージャーに緊急事態を知らせるようにするには、次のように設定します:

XTerm.vt100.bellIsUrgent: true

フォントのヒント

太字や斜体の代わりに色を使う

フォントサイズを小さくしている場合、太字や斜体の文字を読むのは困難です。太字や斜体、下線を無効にして代わりにテキストに色を付けることができます。例:

! disable bold font faces, instead make text light blue.
XTerm.vt100.colorBDMode: true
XTerm.vt100.colorBD: rgb:82/a4/d3
! disable underlined text, instead make it white.
XTerm.vt100.colorULMode: true
XTerm.vt100.colorUL: rgb:e4/e4/e4
! similarly use colorIT for italics

書式設定の情報については、カラー を参照してください。

行間の調整

テキストの行が近すぎたり、間隔が広すぎたりすることがあります。一例として、DejaVu Sans Mono を使用すると、アンダーバー記号が CJK グリフまたは下の行のカーソルブロックに突き当たる可能性があります。タイポグラフによって leading と呼ばれる行間隔は、たとえば間隔を広げるために、次のリソースを使用して調整できます:

XTerm.vt100.scaleHeight: 1.01

scaleHeight に設定できる値は 0.9 から 1.5 までの間の数値で、デフォルトは 1.0 です。

Tek 4014 デモンストレーション

plotutils をインストールしている場合、xterm の Tektronix 4014 エミュレーションを使って plotutils パッケージのテストファイルを表示することができます。#VT オプションメニュー のメニューアイテム Switch to Tek Mode を使うか次のコマンドで xterm を起動することで Tek ウィンドウを開いて下さい:

$ xterm -t -tn tek4014

完全に表示されると、PS1 は正しく表示されなくなります。新しいウィンドウで、次のコマンドを入力してください:

cat /usr/share/tek2plot/dmerc.tek

Tek ウィンドウに世界地図が表示されます。同じディレクトリにある他の *.tek ファイルを表示することもできます。Tek ウィンドウを終了するには、xterm メニューを使います。

X11 の入力スヌーピングからの保護

メインのオプションメニュー から "Secure Keyboard" モードを有効にするのは不便な場合があります。代わりに、キーバインド を使用して secure() アクションを呼び出すことができます:

Ctrl Alt <Key>S: secure()

トラブルシューティング

スクロールでチラつきが発生する

ノート: ダブルバッファを使用すると非ビットマップフォントが正しく表示されなくなることがあります。

ABS を使って --enable-double-buffer フラグを指定して xterm をリビルドしてください:

./configure --prefix=/usr \
     ...
     --with-utempter \
     --enable-double-buffer

詳しくは Xterm modifications を参照。

設定が適用されない

i3 などの一部のアプリケーションでは、xterm の代わりに uxterm のラッパーを呼び出すことがあります。このような場合は、uxterm と同じ設定を追加することで解決することができます。

UXTerm.vt100.reverseVideo: true

設定ファイルに重複した項目を書かない方が良い場合は、ワイルドカードによるマッチングを使用することができます。

*.vt100.reverseVideo: true

フォントサイズメニューでフォントサイズが変更されない

フォントサイズの変更で問題が発生した場合は、xorg-mkfontscale パッケージをインストールしてください。

参照