web-dev-qa-db-ja.com

Xtermが配色をロードしない

私はvimでよく作業し、cliバージョンに切り替えることにしました。xtermを選択しました。これは、私が知っている唯一の端末が正しく認識しているためです。 Alt ショートカット(そして私はvimにバインドされたものをたくさん持っています)。

私の問題は、xtermが起動時に設定ファイルをロードしないことです。ホームディレクトリの.Xresourcesファイルにあります(また、その内容を.Xdefaultsに移動しようとしましたが、使用できません)。 xrdb .Xresourcesと入力すると、すべての設定が正常に読み込まれます。また、xrdb -query -allと入力すると、適切な端末設定が表示されます。その行を.xinitrcファイルとOpenbox自動実行に含めてみました(メインウィンドウマネージャーであるCrunchbangディストリビューションで作業しています)が、どちらも機能しません。

誰かがそれを修正する方法について正しい方向に私を向けることができますか?

私の.Xresourcesファイルは次のようになります:

!XTerm*termName: xterm-256color
!UXTerm*termName: xterm-256color

! Colors

*background: #181818
*foreground: #c0c0c0
*cursorColor: #93a1a1

!! black dark/light
*color0: #121212
*color8: #2e3436

!! red dark/light
*color1: #a35b66
*color9: #ab6b74

!! green dark/light
*color2: #99ab6f
*color10: #acb972

!! yellow dark/light
*color3: #ca9733
*color11: #ccaa69

!! blue dark/light
*color4: #495d6e
*color12: #687987

!! Magenta dark/light
*color5: #825969
*color13: #977381

!! cyan dark/light
*color6: #839191
*color14: #98a4a4

!! white dark/light
*color7: #e0e0e0
color15: #e5e5e5

!-------------------------------------------------------------------------------
*multiClickTime: 500
! Use a Nice truetype font and size by default... 

! Every Shell is a login Shell by default (for inclusion of all necessary environment variables)
xterm*loginshell: true

! I like a LOT of scrollback...
xterm*savelines: 16384
UXTerm*faceSize: 8
UXTerm*cursorBlink: true
! double-click to select whole URLs :D
xterm*charClass: 33:48,36-47:48,58-59:48,61:48,63-64:48,95:48,126:48

! right hand side scrollbar...
xterm*rightScrollBar: false
xterm*ScrollBar: false

! stop output to terminal from jumping down to bottom of scroll again
xterm*scrollTtyOutput: false
6
user47118

実行時にxtermが処理するファイルを確認してください。通常、これらには次のものが含まれます。

_$HOME/.Xdefaults-`hostname`
{$HOME,/etc/X11/app-defaults}/{<locale-full>,<locale-lang>,}/XTerm{,-color}
_

_strace xterm_の出力を確認して、システムの完全なリストを取得してください。

私の推測では、ln -s ~/.Xdefaults ~/.Xdefaults-$(hostname)する必要があります。

また、次の2つの方法で.Xdefaultsファイルを整理することもできます。

  1. キャップスタイルを選び、それを一貫して保つ
  2. 設定全体で_xterm*_や_VT100*_などのプレフィックスを使用します

また、アプリケーションごとのXresources用に_.Xdefaults_だけを継続する単純な_#includes_ファイルを作成することもお勧めします。

_#include <path/to/XTerm.xresources>
#include <path/to/UXTerm.xresources>
#include <path/to/whatever_else.xresources>
_

スケーリングが向上するためです。

4
peterph

*background: #181818のような設定は、Xリソースを使用するすべてのアプリケーションのすべてのウィジェットのすべての背景色に適用されます。ただし、アプリケーションのウィジェットの明示的な設定がどこかにある場合、このより具体的な設定は、一般的な設定*backgroundをオーバーライドします。実際には、*backgroundのような一般的な設定は役に立ちません。

~/.Xresourcesのすべてのエントリは、アプリケーションのクラス名で始まる必要があります。これは通常、頭文字が大文字のプログラム名です。 xtermの場合(アンティークを実行している場合を除き、Unicodeをサポートするxtermを含む)、クラス名はXTermです。 ~/.Xresources

XTerm*background: #181818
XTerm*foreground: #c0c0c0
XTerm*cursorColor: #93a1a1
…

それでも効果がない場合は、変更するウィジェットを明示的にリストするより具体的な設定を試してください。

XTerm.VT100.background: #181818
XTerm.VT100.foreground: #c0c0c0
XTerm.VT100.cursorColor: #93a1a1
…

xtermの代わりにXTerm(小文字)を使用する場合、設定はインスタンス名xtermでプログラム(xtermまたはその他)を実行する場合にのみ適用されますが、あなたが実行するとき例えばxterm -name foo

ああ、そして loginShellを設定しないでください :各端末でログインシェルを実行します。これは解決するよりも多くの問題を引き起こします。とにかく、各端末ではなく、セッション全体に対して環境変数を設定する必要があります。