回答:
~/.xinitrc
によって実行されxinit
、通常はを介して呼び出されますstartx
。このプログラムはログイン後に実行されます。最初にテキストコンソールにログインし、次にでGUIを起動しstartx
ます。の役割は.xinitrc
、通常、キーバインディング(with xmodmap
またはxkbcomp
)、Xリソース(with xrdb
)などのGUI関連設定を設定することにより、セッションのGUI部分を開始し、セッションマネージャーまたはウィンドウマネージャーを起動することです(おそらくデスクトップ環境の一部として)。
~/.xsession
グラフィカルモード(ディスプレイマネージャ上)でログインし、ディスプレイマネージャが「カスタム」セッションタイプを呼び出したときに実行されます。(xdmヒストリカルディスプレイマネージャーで.xsession
は常に実行されますが、ユーザーにセッションタイプの選択を提供する最新のディスプレイマネージャーでは、通常「カスタム」を選択し.xsession
て実行する必要があります。)その役割は、ログイン時パラメーターを設定することです。 (環境変数など)およびGUIセッションを開始します。典型的なの.xsession
は
#!/bin/sh
. ~/.profile
. ~/.xinitrc
~/.xsessionrc
Debian(およびUbuntu、Linux Mintなどの派生物)で、GUIログインのX起動スクリプトによって、すべてのセッションタイプおよびすべてのディスプレイマネージャーから実行されます。startx
ユーザーがを持たない場合も実行されます。.xinitrc
その場合startx
、GUIログインに使用される同じセッションスタートアップスクリプトにフォールバックするためです。リソースをロードした後、キーエージェント、D-Busデーモンなどのプログラムを起動する前に、比較的早期に実行されます。通常、後の起動スクリプトで使用できる変数を設定します。私が知っている公式のドキュメントはありません。ソースを掘り下げて、何が機能するかを確認する必要があります。
.xinitrc
および.xsession
は、X11 Windowシステムの歴史的な機能であるため、すべてのUnixシステムで利用可能であり、同様の動作をする必要があります。一方、.xsessionrc
Debianの機能であり、Debianに基づいていないディストリビューションは、同様のものを実装していない限り、Debianにはありません。
.xprofile
はに非常に似て.xsessionrc
いますが、GDM(GNOMEディスプレイマネージャ)のセッションスタートアップスクリプトの一部であるため、GDMでログインした場合にのみ読み取られます。
別の議論によると、startx +〜/ .xsessionがあり、〜/ .xinitrcがない場合、機能が低下します(xfce4、sid)
まず
.xsessionrc
、グローバル環境変数を保持するためのものです。重点は私のものです。第二に:
40x11-common_xsessionrc
in/etc/X11/Xsession.d
はの前に取得され50x11-common_determine-startup
ます。その.xsessionrc
ため、前に読み取られ.xsession
、環境変数セットはのコマンドで実行されるアプリケーションで使用可能になります.xsession
。
参考文献: