Archを使い始めた後、xtermとurxvtターミナルに切り替えて、それらの柔軟性を楽しんだ(特にscaleHeight
資源)。ただし、構成がXterm
で機能することがある理由がわかりません xterm
を使用することもあります またはXTerm
(小文字と大文字のx
およびt
。
たとえば、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.Xresourcesの一部が機能しなくなったため、Arch .XresourcesをUbuntu14ワークボックスに単純に移植できず、実行後に異なるセットアップが取得されます。
xrdb -merge .Xresources
xtermのX.orgには例がありませんでした(「xterm *」を検索しても、そのページには何も返されませんでした)。 Xterm
の例が表示されます 、xterm
およびXTerm
オンライン…構文的にオフになっているため、上記の設定が機能するのは困惑します。なぜそうなのですか? Xの新しいリソースまたは古いリソースと関係があるのでしょうか。ありがとう!
ubuntuのxtermはXterm(297)です。現在、Archボックスにアクセスできませんが、かなり最新の状態になっています。 ArchのリポジトリからXtermのバージョンを区別する方法はわかりませんが、おそらくこれは次のとおりです。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
Gillesに感謝します。 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 +マウスクリック)-それらは小さな黄色い線として表示されます。ふふ
承認された回答:
X11リソースの名前は、xterm.vt100.geometry
のように、ドットで区切られた一連のコンポーネントで構成されています。 。最初のコンポーネントはアプリケーションの名前であり、2番目のコンポーネントはそのアプリケーションのウィジェットであり、最後のコンポーネントはウィジェットのプロパティです。ウィジェットはネストできるため、3つ以上のコンポーネント、またはアプリケーションのプロパティに2つだけ存在することができます。
Xリソースの仕様は、単一のリソースまたはパターンに一致するリソースのセットに適用できます。仕様を複数のリソースに適用するには、2つの方法があります。
-
コンポーネントには、インスタンス名の代わりにクラス名を使用できます。従来、インスタンス名は小文字で始まり、クラス名は大文字で始まります。
- アプリケーションレベルでは、クラス名は通常、特定のアプリケーションに対して固定されており、通常は大文字のアプリケーション名に固定されています。また、他の文字も大文字である場合があります。
XTerm
、XCalc
、GV
、NetHack
、…Xツールキットを使用するアプリケーションはオプション-class
をサポートします クラス名と-name
を設定します インスタンス名を設定します(デフォルトでは実行可能ファイルのベース名になります)。例:XTerm.vt100.geometry
geometry
の値を設定しますvt100
のプロパティXTerm
の任意のインスタンスのウィジェット クラス;xterm -name foo
に適用されます ただし、xterm -class Foo
ではありません 。 - ウィジェットレベルでは、同じクラスの複数のウィジェットが存在する可能性があります。たとえば、同じウィンドウに複数のボタンがあります。 Xtermには、クラス
VT100
の単一のウィジェットがあります 、vt100
と呼ばれます 、ウィンドウ全体をカバーするターミナルエミュレータ部分です。他のウィジェットには、メニューmainMenu
が含まれます 、fontMenu
およびvtMenu
クラスのSimpleMenu
。
- アプリケーションレベルでは、クラス名は通常、特定のアプリケーションに対して固定されており、通常は大文字のアプリケーション名に固定されています。また、他の文字も大文字である場合があります。
- ワイルドカードがあります:
?
「任意のウィジェット」を意味し、*
「任意のウィジェットシーケンス」を意味します。例:xterm*background
Xtermウィンドウ内のすべての背景を定義します。
editres
を使用して、editresプロトコルをサポートするアプリケーションのリソースツリーを調べることができます。 。このプロトコルをサポートするアプリケーションはほとんどありませんが、Xtermはその1つです。
特定のリソースが複数のパターンと一致する可能性があります。この場合、優先ルールが適用されます。完全なルールについては、マニュアルを参照してください。
あなたの場合、xterm.vt100.geometry
に近い別のエントリがどこかにある可能性があります xterm*VT100.geometry
より 、そしてその一致はあなたの設定を上書きしています。他には他の設定がないので、あなたが何をしても勝ちます。