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を移植することはできません。
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
...を使用)。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つです。
特定のリソースは複数のパターンと一致することがあります。この場合、優先順位ルールが適用されます。より手動全体のルールを学びます。
あなたの場合、notに近いどこかに他の項目がある可能性が高く、対応する一致がxterm.vt100.geometry
設定xterm*VT100.geometry
を上書きします。誰も他の設定を持っていないので、何をしても勝つことができます。
答え2
一部のレビューなどは正確ではありません。ところで、Xリソースの説明は次のとおりです。X(7) マニュアルページ、タイトルにリソース。これは最高あなたが読み始めた部分をここで繰り返すことはあまり意味がありません。
以下は見落とされたいくつかのことです。
- リソース名は次のとおりです。大文字と小文字の区別A :
XTerm
違うXterm
などxterm
。 - 慣例によるとX リソース名は前に大文字を使用します。クラス名前。
- クラス名の最初の文字が次
X
のような場合習慣2 番目の文字を大文字にします。だから私たちは得ますXTerm
。XCalc
XClock
XConsole
XLoad
XLogo
- 一方、(
Xedit
小文字e
)Xfd
、、、、、があります。したがって、このコンベンションはXmag
Xman
Xmessage
Xvidtune
ルール。 - Xツールキットアプリケーション(例
xterm
:)の使用XtOpenApplication
またはXtAppInitialize
アプリケーションリソースを初期化します。これらの呼び出しでははいそしてクラス名前。 - 通常、インスタンス名はプログラムの実際の名前(ファイル名)です。プログラムの名前を変更すると(たとえば、時には発生する
xterm.real
)、名前も変更されます。このプログラムはそうではありません持つしてください。しかし、よくしてください。xterm
できる。 - 通常クラス名前は定数です。または(3つの大文字)
xterm
2つのカテゴリのうちの1つが必要なため、含まれません。後者はスクリプトに使用され、フォントの指定方法を簡素化します。これXTerm
UXTerm
uxterm
日付は2000年から始まります。、X歴史の真ん中になりました。 2000年初頭/半ばのXソースツリーで30個のプログラムをすばやく調べてみると、XtAppInitialize
クラス名変数を使用する他のプログラムは表示されません。 - この
-class
オプションはxtermによって異なります。実際にオプションdbedizzy
を受け入れます-class
。視覚的クラス。それは違います。 X Toolkitにはそのようなオプションはありません。 Xツールキットの一般的なオプションは、X(7)のマニュアルページにリストされています。オプション。 xtermのマニュアルでこれについて詳しく説明しています。Xツールキットオプション。 editres
マニュアルページに示すように、Xツールキットを使用するすべてのプログラムに適用されます。上記の2つの初期化呼び出しのうちの1つまたは別のものを使用するXソースツリーには36個のプログラムがあるため、ここに適用されるプログラムは「いくつかのプログラム」ではありません。- 一方、
xterm
それは次のいずれかです。珍しいこれはeditres
あまり役に立ちません。リソース設定が多すぎます。
xterm
他のアプリケーション用にインストールされたアプリケーション基本ファイル慣例によるとアスタリスク()で始まるリソース設定を指定します*
。これはそれらを独立させる。はい名前。アスタリスクは、xterm FAQ のように、混乱の原因となるウィジェット階層のすべてのレベルとよく一致します。メニューがなぜこんなに少ないのですか?、ウィジェットで使用されているジオメトリリソースがメニューにVT100
(誤って)適用される可能性があります。リソースに過度に寛大なマッチングを適用しても、同様の問題がありますfont
。両方の問題に対する解決策は、VT100
ウィジェット参照(特定)、ドット(.
)などを使用してより具体的な一致を使用することです。
app-defaults ファイルは不要な使用を防ぐため、'.'
独自の構成でそれを上書きするのは比較的簡単です。リソースへのアクセスに問題がある場合
xterm*VT100.geometry: 100.80
申請するには、見える場所がいくつかあります。
- 使用したことがある場合それモードを使用する前にリセットすると(後でリソースファイルで)、使用された値には影響しません。
xterm.VT100.geometry
ワイルドカードの使用やあまり具体的な設定の上書きなどのより具体的な設定です。*
?