私は~/.xinitrc
次の内容で
xrdb -merge $HOME/.Xdefaults
このxinitrc
は、ユーザーがログインしたときに読み込まれないため、基本的には役に立ちません。同じコマンドがbash
で機能するため、間違ったことをしているとは思いません。私の質問は次のとおりです。 xinitrc
は環境変数を認識しますか?
~/.xinitrc
は、X11をstartx
(またはxinit
を呼び出すもの)で開始した場合にのみ読み取られます。グラフィックモードでログインすると、表示マネージャは開始するセッションを選択します。各セッションマネージャまたはデスクトップ環境には、存在する場合、独自の起動スクリプトがあります。
ほとんどのシステムは、デフォルトのX11起動スクリプトの一部として~/.Xresources
からリソースを自動的にロードします。リソースファイルの名前を~/.Xresources
に変更してみてください。
.xinitrc
は、明示的にxinit
を実行して(startx
は最終的にxinit
を呼び出します)Xサーバーを起動すると実行されます。現在のLinuxはデスクトップマネージャーを使用しているため、ほとんどの場合、これは発生しません。デスクトップマネージャーは、X-Serverを直接起動してから、/etc/X11/Xsession <desktopenvironment>
を実行します。ここで、<desktopenvironment>
は、次のファイルのExec=
行の値です。 /usr/share/xsessions
、例えば
Exec=startxfce4
セッションタイプとしてXFCEを選択した場合。
少なくともDebianベースのシステムでは、/etc/X11/Xsession.d/
のスクリプトは順番に供給されます(!)。ほとんどすべてのこれらのスクリプトは、変数STARTUP
を設定および/または変更します。これは、最終的に行で使用されます。
exec $STARTUP
したがって、技術的には、/usr/share/xsession/xinitrc.desktop
を実行するセッションを選択できる~/.xinitrc
ファイルを作成できます。