構成ファイルの「Xterm」または「xterm」

構成ファイルの「Xterm」または「xterm」

Archを使い始めた後、xtermとurxvt端末に切り替えて柔軟性(特にscaleHeightリソース)を楽しんだ。ただし、構成が時折、Xtermまたは(小文字と大文字の合計)で機能する理由はわかりません。xtermXTermxt

たとえば、Ubuntuで奇妙な設定が実行されています。

XTerm*faceName: terminus
XTerm*faceSize: 11
XTerm*saveLines: 16384
XTerm*loginShell: true
XTerm*charClass: 33:48,35:48,37:48,43:48,45-47:48,64:48,95:48,126:48
XTerm*termName: xterm-color
XTerm*eightBitInput: false
xterm*VT100.geometry: 100x80    ! <------ this line would not work with "Xterm" or "XTerm"
XTerm*scaleHeight: 1.3          ! <----- but all others work with "XTerm"

しかし、私のArchボックスは「xterm」としてうまく動作します。 URxvt端末でも同様です。単にArchを移植することはできません。

xrdb -merge .Xresources

X.orgにxtermの例はありません(「xterm *」を検索すると、そのページには何も返されません)。私はオンラインでXterm、そして...のxterm例を見たことがありますXTerm。私を混乱させるのは、上記の構成が構文的に閉じているために機能できることです。なぜですか?これはXの新しいリソースや既存のリソースに関連する可能性がありますか?ありがとうございます!

UbuntuのxtermはXterm(297)です。現在私のArchボックスにアクセスすることはできませんが、最新のままになります。 XtermのバージョンをArchリポジトリと区別する方法がわかりませんが、おそらく次のようになります。https://www.archlinux.org/packages/extra/i686/xterm/ したがって、そのリンクが正しい場合、はい、私は別のXtermバージョンを実行しています。

xtermをアップグレードしようとしましたが、まだ297です。

apt-get update && apt-get install --only-upgrade xterm

今はこれを行うことはできませんが、問題が解決しないことを確認するために、最新バージョンを再コンパイルしてみてください。

以下のILMostro_7の提案に従ってください。しかしXTerm.vt100.geometryまだ機能しません。 Ubuntu14のXterm(297)です。したがって、基本的に.または*非常に少数の場合にのみ機能するようですxt


appres XTerm xterm | grep geometry結果についてGilesに感謝します。xrdb -mergeこの混乱の原因が何であるかを調べることは私には起こりませんでした。それでは、私の考えでは、そのうちの1つが他のものよりも優先されます。

xterm.VT100.geometry:   100x100
xterm*VT100.geometry:   100x80
xterm*VT100*geometry:   50x50
xterm.vt100.geometry:   160x40
xterm*vt100.geometry:   100x20
xterm.geometry: 5x5
xterm*geometry: 100x20
XTerm.VT100.geometry:   100x100
XTerm*VT100.geometry:   50x50
XTerm*VT100*geometry:   20x10
XTerm.vt100.geometry:   100x5
XTerm*vt100.geometry:   40x40
XTerm*geometry: 50x50

実際xterm.vt100.geometry: 160x40、インスタンスが引き続き表示されるので、他のインスタンスよりも優先順位が高いようです。また、Xtermメニュー(Ctrl +マウスクリック)を完全に台無しにしました。小さな黄色い線で表示されます。ヘヘ

ベストアンサー1

X11リソースドットで区切られた一連のコンポーネントで構成される名前を持ちますxterm.vt100.geometry。最初のコンポーネントはアプリケーションの名前、2番目のコンポーネントはそのアプリケーション内のウィジェット、最後のコンポーネントはウィジェットのプロパティです。ウィジェットは入れ子にすることができるため、3つ以上のコンポーネントがある場合があり、アプリケーション属性の場合は2つしかありません。

X リソースの仕様は、単一のリソースまたはパターンに一致するリソースグループに適用できます。複数のリソースに仕様を適用する方法は2つあります。

  • すべてのコンポーネントに対してインスタンス名の代わりにクラス名を使用できます。通常、インスタンス名は小文字で始まり、クラス名は大文字で始まります。

    • アプリケーションレベルでは、特定のアプリケーションのクラス名は一般的に固定されており、通常、アプリケーション名は大文字であり、時には他の文字も大文字です(たとえば、、、、、XTerm...を使用)。XCalcGVNetHackXツールキット-class-nameクラス名とインスタンス名を設定するオプションをサポートします(デフォルトは実行可能ファイルのデフォルト名)。たとえば、このクラスのインスタンスのウィジェットのプロパティ値設定はXTerm.vt100.geometry適用されますが、適用されません。geometryvt100XTermxterm -name fooxterm -class Foo
    • ウィジェットレベルでは、同じウィンドウに複数のボタンがあるかのように、同じクラスを持つ複数のウィジェットがある可能性があります。 Xtermには、ウィンドウ全体をカバーする端末エミュレータの一部であるVT100ウィジェットというクラスがあります。vt100他のウィジェットにはメニューとmainMenuクラスが含まれます。fontMenuvtMenuSimpleMenu
  • ワイルドカードがあります。?「すべてのウィジェット」を意味し、*「すべてのウィジェットシーケンス」を意味します。たとえば、xterm*backgroundXterm ウィンドウ内のすべての背景を定義します。

次のコマンドを使用して、editresプロトコルをサポートするアプリケーションのリソースツリーを参照できます。editres。このプロトコルをサポートするアプリケーションはほとんどありませんが、Xtermはそのうちの1つです。

特定のリソースは複数のパターンと一致することがあります。この場合、優先順位ルールが適用されます。より手動全体のルールを学びます。

あなたの場合、notに近いどこかに他の項目がある可能性が高く、対応する一致がxterm.vt100.geometry設定xterm*VT100.geometryを上書きします。誰も他の設定を持っていないので、何をしても勝つことができます。

おすすめ記事