3つの設定ファイルが見つかりました。
.xinitrc
.xsession
.xsessionrc
最初のものは使用するためのものであり、startx
2番目と3番目のものはディスプレイマネージャを使用するときに使用することです。しかし、結局のところ、2つの違いは何ですか?
答え1
~/.xinitrc
執行者xinit
、通常電話でstartx
。プログラムはログイン後に実行されます。まず、テキストコンソールで実行し、次に実行GUIを使用しますstartx
。の役割は通常、キーバインディング.xinitrc
などの一部のGUI関連設定を設定することによってセッションのGUI部分を開始することを使用しますxmodmap
(xkbcomp
xrdb
~/.xsession
グラフィックモード(in)でログインすると実行されます。ディスプレイマネージャ)とディスプレイマネージャは「カスタム」セッションタイプを呼び出します。 (記録ディスプレイマネージャxdmの場合、.xsession
これは常に実行されますが、ユーザーにセッションタイプの選択を提供する最新のディスプレイマネージャの場合は、通常実行するには.xsession
「custom」を選択する必要があります。)これは、ログイン時にパラメータを設定することです。 (環境変数など)GUIセッションを開始します。.xsession
一般的に
#!/bin/sh
. ~/.profile
. ~/.xinitrc
~/.xsessionrc
GUIログイン時にX起動スクリプトによって実行されるDebian(およびUbuntu、Linux Mintなどの派生製品)は、すべてのセッションタイプとすべてのディスプレイマネージャで動作します。startx
ユーザーにセッションがない場合でも実行されます。.xinitrc
これは、startx
GUIログインに使用されるのと同じセッション開始スクリプトが使用されるためです。リソースがロードされた後、プログラム(コアエージェント、D-Busデーモンなど)が起動する前に比較的早く実行されます。通常、以降の起動スクリプトで使用できる変数を設定します。私が知っている限り、正式な文書はなく、何が機能しているかを確認するには、ソースコードを詳しく調べる必要があります。
.xinitrc
X11 Windowsシステムの歴史的な機能なので、.xsession
すべてのUnixシステムで同様に機能し、使用できます。一方、.xsessionrc
これはDebianの機能であり、Debianベースではないディストリビューションには同様の機能を実装しない限り、この機能はありません。
.xprofile
と非常に似ています.xsessionrc
が一部のディスプレイマネージャ用のセッション起動スクリプトGDM(GNOME Display Manager)とlightdmが含まれていますが、xdmやkdmなどの他のエントリは含まれていません。
答え2
別の議論によると、~/.xinitrcなしでstartx + ~/.xsessionを使用すると、機能が低下します(xfce4、sid)。
最初:
.xsessionrc
保有用地球環境変わりやすい。ポイントは私のものです。第二:
40x11-common_xsessionrc
in/etc/X11/Xsession.d
は50x11-common_determine-startup
。したがって、.xsessionrc
以前に読んだように、.xsession
すべての環境変数セットは、NETのコマンドで実行されているアプリケーションで使用できます.xsession
。
追加資料: